rma / rmabdd_light
用于通过命令行或 CRON 管理数据库提取的软件包
v0.5.6
2018-11-13 15:00 UTC
Requires
- php: >=5.3.9
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: ^2.4.8
- ifsnop/mysqldump-php: ~2.1
- incenteev/composer-parameter-handler: ~2.0
- sensio/distribution-bundle: >=3.0|<=5.0.5
- symfony/monolog-bundle: ^3.0
- symfony/symfony: ^2.8.6|<3.0
This package is not auto-updated.
Last update: 2024-09-26 01:10:59 UTC
README
如果您想将 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'。