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

1.3 2017-06-22 07:12 UTC

This package is auto-updated.

Last update: 2024-05-29 03:56:36 UTC


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