For Laravel 5.x, check version 2.7.0
For Laravel 4.x, check version 1.3.0
Think of Backup as an easy way to backup and restore a database, with command line integration to Laravel's artisan. These include:
Backup::exportBackup::restoreBackup::setBackupEngineInstanceBackup::getBackupEngineInstanceBackup::setBackupFilesystemInstanceBackup::getBackupFilesystemInstanceBackup::setEnabledBackup::getEnabledBackup::setPathBackup::getPathBackup::setCompressBackup::getCompressBackup::setFilenameBackup::getFilenameBackup::getWorkingFilepathBackup::getRestorationFilesBackup::getProcessOutput
Begin by installing this package through Composer. Edit your project's composer.json file to require cornford/backup.
"require": {
"cornford/backup": "3.*"
}
Next, update Composer from the Terminal:
composer update
Once this operation completes, the next step is to add the service provider. Open config/app.php, and add a new item to the providers array.
Cornford\Backup\Providers\BackupServiceProvider::class,
The next step is to introduce the facade. Open config/app.php, and add a new item to the aliases array.
'Backup' => Cornford\Backup\Facades\BackupFacade::class,
Finally we need to introduce the configuration files into your application.
php artisan vendor:publish --provider="Cornford\Backup\Providers\BackupServiceProvider" --tag=backup
That's it! You're all set to go.
You can now configure Backup in a few simple steps. Open config/backup.php and update the options as needed.
enabled- Enable Backup.path- A database backup path, absolute path, or path relative from public directory, a trailing slash is required.filename- A database export filename to use when exporting databases.compress- Enable backup compression using gzip. Requires gzencode/gzdecode.processors- Set the database engines processor location, trailing slash is required.
It's really as simple as using the Backup class in any Controller / Model / File you see fit with:
Backup::
This will give you access to
- Export
- Restore
- Set Backup Engine Instance
- Get Backup Engine Instance
- Set Backup Filesystem Instance
- Get Backup Filesystem Instance
- Set Enabled
- Get Enabled
- Set Path
- Get Path
- Set Compress
- Get Compress
- Set Filename
- Get Filename
- Get Working Filepath
- Get Restoration Files
- Get Process Output
The export method allows a database export file to be created in the defined backup location, with an optional filename option.
Backup::export();
Backup::export('database_backup');
The restore method allows a database export file to be restored to the database, specifying a full filepath to the file.
Backup::restore('./database_backup.sql');
The setBackupEngineInstance method allows a custom backup engine instance object to be utilised, implementing the BackupEngineInterface.
Backup::setBackupEngineInstance(new BackupEngineMysql(new BackupProcess(new Symfony\Component\Process\Process), 'database', 'localhost', 3306, 'root', '', []));
The getBackupEngineInstance method returns the current backup engine instance object.
Backup::getBackupEngineInstance();
The setBackupFilesystemInstance method allows a custom backup filesystem instance object to be utilised, implementing the BackupFilesystemInterface.
Backup::setBackupFilesystemInstance(new BackupFilesystemInstance);
The getBackupFilesystemInstance method returns the current backup filesystem instance object.
Backup::getBackupFilesystemInstance();
The setEnabled method allows backup to be switched on or off, specifying a bool for state.
Backup::setEnabled(true);
Backup::setEnabled(false);
The getEnabled method returns the current backup enabled status, returning a bool for its state.
Backup::getEnabled();
The setPath method allows backup location path to be set, specifying a relative or absolute path as a string, a trailing slash is required.
Backup::setPath('/path/to/directory/');
The getPath method returns the current absolute backup path in string format.
Backup::getPath();
The setCompress method allows backup file compression to be switched on or off, specifying a bool for state.
Backup::setCompress(true);
Backup::setCompress(false);
The getCompress method returns the current compression backup status, returning a bool for its state.
Backup::getCompress();
The setFilename method allows backup filename to be set, specified in a string format.
Backup::setFilename('database_backup');
Backup::setFilename('backup-' . date('Ymd-His'));
The getFilename method returns the current set backup filename in a string format.
Backup::getFilename();
The getWorkingFilepath method returns the current set working filepath of the current item being processed in a string format.
Backup::getWorkingFilepath();
The getRestorationFiles method returns an array containing all of the restoration file filepaths within a give path, an optional absolute path can be set as a string.
Backup::getRestorationFiles();
Backup::getRestorationFiles('/path/to/directory/');
Backup is open-sourced software licensed under the MIT license


