PS: This work was inspired by many people around me, especially backmeup which was created by Arda Kılıçdağı.
I wanted to have a small cli app that I can use to backup my databases whenever I need and with simple modifications, so I tried bach/shell and I didn't like it.
So to make the story short this is what I have done so far, this is just a small backup cli app that you can use on your server and run it via cron jobs to create a backup for all your databases or for one of them if you pass it as a parameter.
- Local backup.
- Dropbox.
- Amazon.
Remember that you need to have composer installed locally, if its not installed locally you can get it from getcomposer.org
Right now the best way to install it is to clone the repository
git clone https://github.com/linuxjuggler/database-backup.git
then execute the following commands
cd database-backup
composer install
You can install it using composer by executing the following command:
composer create-project damascene/database-backup
You can install it using composer by executing the following command:
composer global require damascene/database-backup
PS: if you run it globally you can just use backup
instead of ./bin/backup
.
We distribute a PHP Archive (PHAR) that has all dependencies (including the suggested) of database backup bundled in a single file. You can find the file under the assets of each release.
After downloading the file remember to run the following commands:
$ mv backup ./bin/backup
$ chmod u+x backup
- You should create the configuration file using the command:
./bin/backup init
You will be asked for few questions which the app is going to use them later.
- You can start the backup process using the command:
./bin/backup db:run --database my_database_name
if you didn't pass the database parameter it will backup all the databases.
- you can list all the backup files that you have using the command:
./bin/backup db:list
Based on how you have install it you can run one of the following commands:
- If installed via git:
from within your code directory run:
git pull origin master
- If installed via composer:
from within your code directory run:
composer update
- If installed via composer globally:
composer global update
- Finally check the file
config.yml.example
for the new updates if you don't want to use theinit
command.
- Add Tests