rma/rmabdd_light

用于通过命令行或 CRON 管理数据库提取的软件包

安装: 856

依赖项: 1

建议者: 0

安全性: 0

星级: 1

关注者: 1

分支: 0

开放问题: 1

类型:symfony-bundle

v0.5.6 2018-11-13 15:00 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:10:59 UTC


README

SensioLabsInsight Latest Stable Version Latest Unstable Version

如果您想将 rmaBDD 作为软件包下载,您有两种选择

使用 Composer

    $ composer require rma/rmabdd_light:~{last_version_stable}*

通过 JSON 文件

    "require": {
        "rma/rmabdd_light":"~{last_version_stable}*"
    }

在您的 app/AppKernel.php 中启用软件包

    new RMA\Bundle\DumpBundle\RMADumpBundle()

然后,您可以使用 composer update 来配置您的软件包。

依赖关系

"php": ">=5.6",
"symfony/symfony": ">=2.8.6|^3.2",
"doctrine/orm": "^2.4",
"doctrine/doctrine-bundle": "~1.4",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": ">=3.0|<=5.0.5",
"incenteev/composer-parameter-handler": "~2.0",
"ifsnop/mysqldump-php" : "~2.2"

命令

要查看可用的命令,请转到根目录并编写

php bin/console

提供的命令以 "rma:" 前缀

> rma:dump:help ---- Permet d'obtenir des informations complémentaires pour l'utilisation du plugin

> rma:dump:inspect ---- (alias [inspect]) Vous aide pour définir les configuration de vos connexions base de données. Liste vos connexions chargées et les paramètres liés

> rma:dump:database ---- (alias [dump]) Permet de réaliser un dump 
    Options :
        --one pour sauvegarder une base unique
        --i pour ouvrir l'interface d'intéractions pour les données de connexion (sinon les infos en parameters seront prises par défaut)
        --ftp permet de sauvegarder le dump en FTP. Ne fonctionne actuellement que pour une archive zippée. 
        --repertoire_name permet de définir un nom custom pour le dump
        --all permet de dump toutes les bases disponibles avec les parameters fournis (annule l'option -one et les bases de données en argument)
        
    Arguments :
    Les bases de données à extraire. Si aucun argument, toutes les bases seront sauvegardées
        Exemple avec argument : 
            php app/console rma:dump:database rmabdd mysql --name=dump_before_mep
        Exemple sans argument : 
            php app/console rma:dump:database

> rma:dump:cron ---- Commande prévue spécialement pour les CRON
    Permet de réaliser un dump en crontab. Si vous ne mettez pas d'argument toutes les bases de données seront sauvegardées.
    Par défaut les paramètres sont ceux définis au niveau de votre paramters.yml
    Options : 
        --host
        --port
        --user
        --password  (pour mettre un mot de passe vide, mettez le paramètre --password=none)
        --compress  {none, gzip, bzip2}
        --zip       {yes, no}
        --dir_zip   Pour les dir, vous devez doubler les DIRECTORY SEPARATOR 
        --dir_dump  exemple :  --dir_dump=C:\\Users\\rmA\\Desktop
        --ftp_ip 
        --ftp_username
        --ftp_password
        --ftp_port
        --ftp_timeout
        --ftp_path
        --all

        Exemple :
            php app/console rma:dump:cron --host=127.0.0.1 --password=none --username=root --dir_zip=C:\\Users\\rmA\\Desktop\\Save

    Arguments :
    Les bases de données à extraire. Si aucun argument, toutes les bases seront sauvegardées
        Exemple avec argument : 
            php app/console rma:dump:cron rmabdd mysql --host=127.0.0.1
        Exemple sans argument : 
            php app/console rma:dump:cron 


> rma:dump:clean ---- Commande prévue pour nettoyer les répertoires de dump
    Permet de supprimer des dumps
    Par défaut le répertoire à vider est celui défini au niveau du parameters.yml
    Options : 
        --nb_jour ; Permet de définir en nombre de jours, la date à partir de laquelle les dump seront conservés
        --nombre_dump ; Permet de définir le nombre de dump à conserver

        Exemple :
            php app/console rma:dump:clean --nb-jour=4 
        Tous les dates de plus de 4 jours seront supprimés
            php app/console rma:dump:clean --nombre=15
        Va conserver les 15 derniers dumps 

> rma:dump:sync ---- Commande pour synchroniser les logs de dump avec les dumps effectivement présents dans le répertoire de dump
    Permet notamment de mettre à jour le dossier des logs dans le cas où vous supprimeriez manuellement des dumps
    Par défaut le répertoire à vider est celui défini au niveau du parameters.yml
    Options :
        --dir_dump ; permet de définir un répertoire à gérer spécifique 


> rma:dump:export ---- (alias [export]) Permet de réaliser un export d'une base de données 
    Options :
        --script ; le nom du fichier stocké dans le répertoire web/script pour (exemple test.sql)
        --repertoire_name ; pour définir un nom custom au répertoire d'export
        --keep_tmp ; laisse la basededonnées temporaire créée pour la migration sur le serveur database
        --name_database_temp ; permet de donner un nom custom à la database créée pour l'export (ce nom ne doit pas être porté par une database déjà existante sur le serveur)
        --ftp  ; permet d'envoyer l'export en FTP selon les paramètres définis dans parameters.yml pour rma_ftp
    
> rma:restore:database ---- (alias [restore]) Permet de restaurer une base à partir d'un script SQL
    /!\ le nom de la commande a été modifiée en ^0.6 pour adopter l'orthographe anglais
    Options : 
        --new_database_name ; le nom à donner à la base de données restaurée - Optionnel
        --script_sql ; le nom du fichier (.sql) à importer - Optionnel
        --replace ; permet de définir que vous acceptez de remplacer une base de données déjà existante 

配置定义

默认情况下,将使用为 doctrine 定义的参数来执行转储。

0.5 版本的新特性 :

    ** Vous pouvez désormais définir plusieurs configurations de connexion.

    ** Vous pouvez désormais définir plusieurs configurations FTP.

如果您想修改配置,您可以直接在您的参数中找到以下参数

为了帮助您定义配置,您可以访问一些命令来回顾从输入信息中加载的配置

php app/console inspectConnexions

php app/console inspectFtps

返回一个包含已加载的不同连接及其相应参数的数组

转储和导出配置

0.6 版本的新特性 您可以在连接索引中定义您连接的名称!注意!参数键已更改!不再需要键前缀

- rma_connexions:
    localhost: 
       driver: pdo_mysql
       host: 192.154.125.154
       port: 3306
       user: ronan-user 
       password: passwordInconnu 
    Integration: 
        driver: pdo_mysql
        user: testt
        password: toto
        port: 33009
        host: 192.168.104.2     
- rma_nb_jour:                  5
- rma_nombre_dump:              10
- rma_dir_dump:                 %kernel.root_dir%/../../rmabundle/dump
- rma_keep_tmp:                 no ; {yes|no} 
- rma_script:                   script_migration.sql 
- rma_dir_script_migration:     %kernel.root_dir%/../../rmabundle/script

注意:如果您想在执行 CRON 命令时使用您的 rma_name_connexion,请不要使用特殊字符(%,空格,^)

向 Doctrine 参数添加参数

如果您想使用为 Doctrine 定义的参数来执行转储/导出,您可以从以下信息中定义您的连接

- database_driver: pdo_mysql

- database_host: localhost

- database_port: 3306

- database_user: root

- database_password:

- rma_excludes: [mysql, databaseToExclude] 

FTP 转储配置

0.6 版本的新特性 您可以在 FTP 连接索引中定义您连接的名称!注意!参数键已更改!不再需要键前缀

- rma_ftp:  no ; {yes|no} 
- rma_ftps:
    prod: 
        ftp_ip: 127.0.0.1
        ftp_username: rma
        ftp_password: password
        ftp_port: 21
        ftp_timeout: 120
    integration
        ftp_ip: 127.0.0.12
        ftp_username: root
        ftp_password: secret
        ftp_path: /home/root/dump  

转储压缩配置

- rma_compress:                 gzip ; {none|gzip}
- rma_zip:                      no ; {yes|no} 
- rma_dir_zip:                  %kernel.root_dir%/../web/zip

注意:为了设置空密码,请勿忘记 'none'。

注意:为了在转储过程中不删除任何转储,请在 nb_jour 和 nombre_dump 字段中指定 'none'。