Backup Manager Plugin
Backup your whole October application with ease.
The backup is a zip file that contains all files in the directories you specify along with a dump of your database. The backup can be stored on any of the filesystems you have configured in October. You can backup your application to multiple filesystems at once. In addition to making the backup, the plugin can also clean up old backups.
Use October Marketplace and Add to project button.
- Backup database and application files with mouse click
- Amazon S3, Rackspace, Dropbox Cloud storage support
- MySQL, PostgreSQL, SQLite and Mongo databases support
- Configurable scheduler for automatic backups
- Extensive settings options
- Encryption and password protection
This plugin requires PHP 7.0 or higher with the ZIP module and Laravel 5.5 or higher. It's not compatible with Windows servers.
The plugin needs free disk space where it can create backups. Ensure that you have at least as much free space as the total size of the files you want to backup.
mysqldump is installed on your system if you want to backup MySQL databases.
pg_dump is installed on your system if you want to backup PostgreSQL databases.
mongodump is installed on your system if you want to backup Mongo databases.
Please use GitHub Issues Page to report any issues with plugin.
Reviews should not be used for getting support or reporting bugs, if you need support please use the Plugin support link.
Like this plugin?
If you like this plugin, give this plugin a Like or Make donation with PayPal.
After installation plugin will register backend Backups menu position.
Application backup button will create backup with all project files and database dump file. To change which files will be included see plugin Settings. Default settings will take project base path and exclude vendor and node_modules directories from it.
Database backup button will create only database backup.
Delete selected button will delete selected backups. This action is irreversible, so be careful.
Clean old backups button will cleanup old backups based on plugin Settings.
View latest backup log button will show latest backup log in popup window.
Important note: Log is not created when you manually run console command.
To download backup just click position on the list.
Searching backups list
Backups names are created dynamically from current datetime. This allows to easily search for backups created at specific date and time.
Maximum execution time error
When you experience Maximum execution time of .. seconds exceeded error than most likely application backup is to large and PHP cannot do this process in a single request.
What can I do?
- Change max_execution_time property value in your PHP configuration.
- Use Scheduler to perform automatic backups (recommended).
- Use Console commands to perform backups.
This plugin ships with a settings page. Go to Settings and you will see a menu item Backup Manager listed under Backup section.
|Databases||The names of the connections to the databases that should be backed up. MySQL, PostgreSQL, SQLite and Mongo databases are supported.|
|Gzip database dump||The database dump can be gzipped to decrease disk space usage.|
|Follow links||Determines if symlinks should be followed.|
|Include||The list of directories and files that will be included in the backup. Leave empty to backup whole October project.|
|Exclude||These directories and files will be excluded from the backup. Directories used by the backup process will automatically be excluded.|
|Filename prefix||The filename prefix used for the backup zip file.|
|Name||The name of this application.configured on your chosen filesystem(s)|
|Disks||The disk names on which the backups will be stored.|
Configure how often plugin will run automatic tasks for database backup, application backup and clean old backups actions.
Important note: For scheduled tasks to operate correctly you must set up the scheduler: https://octobercms.com/docs/setup/installation#crontab-setup
Here you can specify password protection for backups. You will be asked to enter this password in order to unzip backup file.
Remember to use long strings and to keep your password safe – without it you will never be able to open your backup.
Leave it blank if you want to keep your backup without a password.
Using the PKWARE/ZipCrypto crypto gives you the best portability as most operating systems can natively unzip the file – however, ZipCrypto might be weak. The Winzip AES-methods on the other hand might require a separate app and/or licence to be able to unzip depending on your OS; suggestions for macOS are Keka and Stuffit Expander.
Important note: When zipping very large files ZipCrypto might be very inefficient as the entire data-set will have to be loaded into memory to perform the encryption, if the zipped file's content is bigger than your available RAM you will run out of memory.
|Keep all backups for days||The number of days for which backups must be kept.|
|Keep daily backups for days||The number of days for which daily backups must be kept.|
|Keep weekly backups for weeks||The number of weeks for which one weekly backup must be kept.|
|Keep monthly backups for months||The number of months for which one monthly backup must be kept.|
|Keep yearly backups for years||The number of years for which one yearly backup must be kept.|
|Delete oldest backups when using more megabytes than||After cleaning up the backups remove the oldest backup until this amount of megabytes has been reached.|
Dumping the database
pg_dump are used to dump the database. If they are not installed in a default location, you can add a key named
dump.dump_binary_path in October
database.php config file. Only fill in the path to the binary. Do not include the name of the binary itself.
If your database dump takes a long time, you might exceed the default timeout of 60 seconds. You can set a higher (or lower) limit by providing a
dump.timeout config key which specifies, in seconds, how long the command may run.
Here's an example for MySQL:
// config/database.php 'connections' => [ 'mysql' => [ 'driver' => 'mysql' ..., 'dump' => [ 'dump_binary_path' => '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump` 'use_single_transaction', 'timeout' => 60 * 5, // 5 minute timeout 'exclude_tables' => ['table1', 'table2'], 'add_extra_option' => '--optionname=optionvalue', ] ],
Plugin supports following storage drivers:
- Local Storage
- Amazon S3 Cloud Storage
- Rackspace Cloud Storage
- Dropbox Cloud Storage
More drivers can be added on feature requests. Just create an issue with [Feature Request] in title and I will see what can be done.
The filesystem configuration file is located at config/filesystems.php. Within this file you may configure all of your "disks". Example configurations for each supported driver is included in the configuration file. So, simply modify the configuration to reflect your storage preferences and credentials!
Amazon S3 and Rackspace configuration
Install October Drivers plugin.
Go to plugin Settings and check
s3/rackspace disk in Destination tab.
Install Dropbox Adapter plugin.
Read this external plugin documentation and configure Dropbox filesystem.
Go to plugin Settings and check
dropbox disk in Destination tab.
Plugin will create three new artisan commands for working with console.
backup:run command will run new backup process. Add --only-db option for backup only database.
backup:clean command will run clean old backups process.
Found the plugin useful on 16 Jan, 2019
Hello good afternoon I bought the 2FA plugin I have the following problem: How can I force other users to activate 2FA every time they enter the backend?
Awaiting your reply
Trias Nur Rahman
Found the plugin useful on 14 Sep, 2018
Very great plugin! It would be better if there is a notification (email) when something wrong in backup process :) Thanks!
Found the plugin not useful on 25 May, 2018
"Type error: Argument 1 passed to Spatie\Backup\Tasks\Backup\BackupJobFactory::createDbDumpers() must be of the type array, null given, called in /var/www/html/plugins/renatio/backupmanager/vendor/spatie/laravel-backup/src/Tasks/Backup/BackupJobFactory.php on line 14" on line 25 of /var/www/html/plugins/renatio/backupmanager/vendor/spatie/laravel-backup/src/Tasks/Backup/BackupJobFactory.php
Replied on 27 May, 2018
Reviews should not be used to get support or report issues. For the future please use support link on plugin page.
Found the plugin useful on 30 Dec, 2017
This is a great plugin which does exactly what you require from a backup plugin. Everything worked first time without a problem. Well worth the price.
Thank you to Renatio / Michel who has been super responsive to a special request I had.
Found the plugin useful on 1 Nov, 2017
Hi , I just installed the plugin but its not working . It makes backup with db but not files. My include files repeater doesn't have anything. I am not sure what's going on. Thanks
Replied on 1 Nov, 2017
reviews should not be used to get support or report issues. For the future please use support link on plugin page.
Please contact me at firstname.lastname@example.org or report an issue on gitHub.
Found the plugin useful on 17 May, 2017
Brilliantly easy, super reliable and generally couldn't do without it.
Found the plugin useful on 30 Dec, 2016
This is a very good must have plugin. I agree with the other reviews though about wanting a way to upload a backup that is not in the database.
Found the plugin useful on 26 Jul, 2016
Its a good plugin but in my opinion has a fatal flaw (unless i am missing something).
The backup archives are listed in the database which means you cannot upload a backup that you have previously downloaded and stored elsewhere. So it works fine if you want to roll back to a previous state but if you wanted to reinstate the application from scratch you have to insert db rows to get the backups to display. It would not be hard to implement a backup import/upload feature.
The Potting Shed
Found the plugin useful on 16 Dec, 2015
Mindblowing plugin and excellent support from Renatio. This is simply a must for any serious OctoberCMS developer.
Found the plugin useful on 20 Aug, 2015
Can't remember how many times backup feature saved my life and that plugin allow me manage all backups in backend. Also Michal (developer) giving fast good feedbacks! Thank you
Found the plugin useful on 2 Jul, 2015
Is a mistake for developers around the world, not to consider the backups of your application and database. Nowadays, the chances to lose information is huge. This plugin is amazing. Remember to install mysql package in your webserver, if you have 2 different servers: (one for webserver and one for database server)...
Found the plugin useful on 8 Jun, 2015
This is EXACTLY what I was looking for. I am currently using DigitalOcean with Laravel Forge and this works perfectly. Must have app on every October site. Just purchased it for a couple projects. Have been hoping that DigitalOcean offered easy database and application backups but they have been really slow to implement that functionality so this app is PERFECT.
Can't thank you enough. Very happy with this and keep up the killer work. I'll be supporting this plugin with every project and highly recommending it to others.
Jul 21, 2018
Add password protection for backups.
Jul 15, 2018
!!! Update all dependencies. Require PHP >= 7.1.
Jul 15, 2018
Remove database port check.
Jul 15, 2018
Fix wrong script name.
Jul 15, 2018
Default to database from config.
Jul 15, 2018
Fix minor issue with cleanup of old backups.
Dec 20, 2017
!!! Move Dropbox filesystem adapter to external plugin.
Oct 12, 2017
!!! Rewrite plugin core and add support for Laravel 5.5.
Oct 12, 2017
Allow to add extra parameters to MySQL dump command. Better database error handling.
Mar 12, 2017
Check for driver name, not connection name.
Mar 12, 2017
Fix issue with not deleted temp files after backup finished.
Jun 18, 2016
Fix bug with empty port in database config.
Mar 09, 2016
Add system requirements check and fix bug with download backup response.
Aug 23, 2015
Dropbox Adapter Support
Jul 20, 2015
Fix bug for PHP 5 < 5.6
Jul 05, 2015
Jun 15, 2015
Added PostgreSQL support.
Jun 05, 2015
First version of Backup Manager plugin.
May 26, 2015
Upgrading To 2.0.0
Plugin requires OctoberCMS build 420+ with Laravel 5.5 and PHP >=7.0.
Plugin settings was reset to defaults, so please review and update them for your project needs.
Upgrading To 2.1.0
Dropbox integration was moved to external Dropbox Adapter plugin. Read this plugin documentation how to configure Dropbox filesystem.
Upgrading To 2.1.4
Plugin requires to set database port in config. This only affects older installations of OctoberCMS.
Upgrading To 3.0.0
spatie/laravel-backup was updated to 5.6.4 version.