cdwv / cronos-database-dumper
Cronos database dumper
Installs: 169
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 6
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- cdwv/database-dumper-command-bundle: ^0.2.0
- mybuilder/cronos: ^1.0
README
This bundle populates your crontab with tasks that will backup your databases using mysqldump.
Requirements
Backups are created using the mysqldump
command which means you need to have at least
mysql-client
package installed on your server.
sudo apt-get update
sudo apt-get install mysql-client
Installation
run:
composer require cdwv/mysql-dumper-command-bundle
composer require cdwv/cronos-database-dumper
add bundle to AppKernel:
new CodeWave\CronosDatabaseDumperBundle\CodeWaveCronosDatabaseDumperBundle(),
new CodeWave\MysqlDumperCommandBundle\CodeWaveMysqlDumperCommandBundle()
Run:
cdwv:cronos-database-dumper:update
Configuration:
in config.yml, defaults values:
code_wave_cronos_database_dumper:
minute: 4
hour: 0
dumps_location: .
key: app_name
php_path: /usr/bin/php
env: prod
clean_older_than: 14 #days
Crontab:
The above configuration will result in the following entry in your crontab:
# KEY app_name
0 4 * * * /usr/bin/php __PATH_TO_YOUR_PROJECT__/app/console cdwv:database:dump --env=prod --path=.
0 4 * * * find * -mtime +14 -exec rm {} \;
# END
This task will dump all of the databases from within your symfony project if there are connections defined for them.
Bear in mind that __PATH_TO_YOUR_PROJECT__
will contain resolved symlinks which means that you might need to call
cdwv:cronos-database-dumper:update
each time the path to new version of the app will change
(e.g. if you have releases named by build number).
License
The MIT License © 2015 - 2016