Backup is a Laravel package that allow the creation and restoration of database backups in an easy way.
New version 3.* replaces older versions and works with laravel 5.*
Begin by installing this package through Composer.
You can run:
composer require freedfelipe/backup 3.*
Or edit your project's composer.json file to require paulvl/backup.
"require": {
"freedfelipe/backup": "3.*"
}
Next, update Composer from the Terminal:
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:
Backup\BackupServiceProvider::class,
Finally publish package's configuration file:
php artisan vendor:publish --provider="Backup\BackupServiceProvider" --tag="config"
Then the file config/backup.php
will be created.
That's it! You're ready to go. Run the artisan command from the Terminal to see the new backup
commands.
php artisan
To make a backup of you current aplication's database you have to run:
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:
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
Enable file compression regardless if is disabled in the configuration file. This option will always overwrite --no-compress
option
php artisan backup:mysql-dump --compress
Disable file compression regardless if is enabled in the configuration file. This option will be always overwrited by --compress
option
php artisan backup:mysql-dump --no-compress
To restore a backup to your current aplication's database you have to run:
php artisan mysql:restore filename
This will display a list of your current backup files stored on your configured local-storage.disk
.
Especifiy a backup file name
php artisan backup:mysql-restore --filename=backup_filename
Display all available backup files on disk. By default displays files for current connection's database.
php artisan backup:mysql-restore --all-backup-files
Display a list of backup files from cloud disk.
php artisan backup:mysql-restore --from-cloud
Use latest backup file to restore database.
php artisan backup:mysql-restore --restore-latest-backup
Confirms database restoration without asking.
php artisan backup:mysql-restore --yes
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
:
protected function schedule(Schedule $schedule)
{
...
$schedule->command('backup:mysql-dump')->dailyAt('00:00');
...
}
If you like this little piece of code share it with you friends and feel free to contribute with any improvements.