Backup
Backup is a Laravel package that allow the creation and restoration of database backups in an easy way., (*1)
New version 3.* replaces older versions and works with laravel 5.*, (*2)
, (*3)
Quick Installation
Begin by installing this package through Composer., (*4)
You can run:, (*5)
composer require freedfelipe/backup 3.*
Or edit your project's composer.json file to require paulvl/backup., (*6)
"require": {
"freedfelipe/backup": "3.*"
}
Next, update Composer from the Terminal:, (*7)
composer update
Once the package's installation completes, the final step is to add the service provider. Open config/app.php, and add a new item to the providers array:, (*8)
Backup\BackupServiceProvider::class,
Finally publish package's configuration file:, (*9)
php artisan vendor:publish --provider="Backup\BackupServiceProvider" --tag="config"
Then the file config/backup.php will be created., (*10)
That's it! You're ready to go. Run the artisan command from the Terminal to see the new backup commands., (*11)
php artisan
Mysql commands
mysql-dump - Creating a backup
To make a backup of you current aplication's database you have to run:, (*12)
php artisan backup:mysql-dump
This will create an .sql file on your configured local-storage.path like /this/is/my/path/dbname_20150101201505.sql, this file is named using current datetime. If you want a custom name run:, (*13)
php artisan backup:mysql-dump custom_name
This will create an .sql file on your configured local-storage.path like /this/is/my/path/custom_name.sql, (*14)
--compress - Enable file compression
Enable file compression regardless if is disabled in the configuration file. This option will always overwrite --no-compress option, (*15)
php artisan backup:mysql-dump --compress
--no-compress - Disable file compression
Disable file compression regardless if is enabled in the configuration file. This option will be always overwrited by --compress option, (*16)
php artisan backup:mysql-dump --no-compress
mysql-restore - Restoring database from a file
To restore a backup to your current aplication's database you have to run:, (*17)
php artisan mysql:restore filename
This will display a list of your current backup files stored on your configured local-storage.disk., (*18)
--filename | -f - Especifiy a backup file name
Especifiy a backup file name, (*19)
php artisan backup:mysql-restore --filename=backup_filename
--all-backup-files | -A - Display all backup files
Display all available backup files on disk. By default displays files for current connection's database., (*20)
php artisan backup:mysql-restore --all-backup-files
--from-cloud | -C - Use cloud disk
Display a list of backup files from cloud disk., (*21)
php artisan backup:mysql-restore --from-cloud
--restore-latest-backup | -L - Restore latest backup file
Use latest backup file to restore database., (*22)
php artisan backup:mysql-restore --restore-latest-backup
--yes | -y - Confirms restoration action
Confirms database restoration without asking., (*23)
php artisan backup:mysql-restore --yes
Programing backups
If you need to perform a backup for example, every day at midnight, at this like to yor schedule function on app/Console/Commands/Kernel.php:, (*24)
protected function schedule(Schedule $schedule)
{
...
$schedule->command('backup:mysql-dump')->dailyAt('00:00');
...
}
Contribute and share ;-)
If you like this little piece of code share it with you friends and feel free to contribute with any improvements., (*25)