{"id":21422167,"url":"https://github.com/mplodowski/backupmanager-plugin-public","last_synced_at":"2026-03-19T20:20:29.894Z","repository":{"id":95198734,"uuid":"106342295","full_name":"mplodowski/backupmanager-plugin-public","owner":"mplodowski","description":"https://octobercms.com/plugin/renatio-backupmanager","archived":false,"fork":false,"pushed_at":"2022-06-16T14:04:10.000Z","size":1194,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-18T04:33:53.213Z","etag":null,"topics":["octobercms-plugin"],"latest_commit_sha":null,"homepage":"https://octobercms.com/plugin/renatio-backupmanager","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mplodowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-09T22:35:25.000Z","updated_at":"2023-11-18T15:28:06.000Z","dependencies_parsed_at":"2023-06-12T11:30:53.195Z","dependency_job_id":null,"html_url":"https://github.com/mplodowski/backupmanager-plugin-public","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mplodowski/backupmanager-plugin-public","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fbackupmanager-plugin-public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fbackupmanager-plugin-public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fbackupmanager-plugin-public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fbackupmanager-plugin-public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mplodowski","download_url":"https://codeload.github.com/mplodowski/backupmanager-plugin-public/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fbackupmanager-plugin-public/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29151583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["octobercms-plugin"],"created_at":"2024-11-22T20:46:22.577Z","updated_at":"2026-02-06T05:03:10.487Z","avatar_url":"https://github.com/mplodowski.png","language":null,"funding_links":["https://www.paypal.me/mplodowski"],"categories":[],"sub_categories":[],"readme":"# Backup Manager Plugin\n\n**Demo URL:** https://october-demo.renatio.com/backend/backend/auth/signin\n\n**Login:** backup\n\n**Password:** backup\n\nBackup your application with ease.\n\nThe backup is a zip file that contains all files in the directories you specify along with a dump of your database. The\nbackup can be stored on any of the filesystems you have configured in October. You can backup your application to\nmultiple filesystems at once. In addition to making the backup, the package can also clean up old backups, monitor the\nhealth of the backups, and show an overview of all backups. The plugin can also notify you via mail when something goes\nwrong with your backups.\n\n![October CMS Backup Manager](https://octobercms.com/storage/app/uploads/public/629/f7b/600/629f7b6002fc3101265527.png)\n\n## Features\n\n* A backup database and application files with mouse click\n* S3, FTP, SFTP, Dropbox storage support\n* MySQL, PostgreSQL and Mongo databases support\n* A configurable scheduler for automatic backups\n* Automatic cleanup old backups\n* Extensive settings options\n* Encryption and password protection\n* Monitoring the health of all backups\n* Mail notifications\n\n## Requirements\n\nThis plugin requires PHP 8.0, with the [ZIP module](http://php.net/manual/en/book.zip.php) and Laravel 9.0 or higher.\nIt's not compatible with Windows servers.\n\nIf you are using an older version of Laravel and October, take a look at one of the previous versions of this plugin.\n\nThe package needs free disk space where it can create backups. Ensure that you have **at least** as much free space as\nthe total size of the files you want to backup.\n\nMake sure `mysqldump` is installed on your system if you want to backup MySQL databases.\n\nMake sure `pg_dump` is installed on your system if you want to backup PostgreSQL databases.\n\nMake sure `mongodump` is installed on your system if you want to backup Mongo databases.\n\n## Why is this a paid plugin?\n\nSomething that is free has little or no perceived value. Users do not commit to free products and only use them until\nsomething else looks nice and is free comes along. When I invest my time in the development of a new plugin I commit to\nsupporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by\nadvertisements, upgrades or additional services like hosting or setup.\n\nDid you know that 30% of your purchase or donation goes to help fund the October Project?\n\nMy plugins take many hours to develop (40-120+) and even more hours to document and maintain. My paid plugins have to\npay for both this time, and the time I am spending on free plugins and less successful paid plugins. This means that it\nwill take even a successful plugin years to become profitable. Please consider buying an extended license if you want me\nto continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that\nyou feel is missing but valuable.\n\n## Like this plugin?\n\nIf you like this plugin, give this plugin a Like or Make donation with [PayPal](https://www.paypal.me/mplodowski).\n\n## My other plugins\n\nPlease check my other [plugins](https://octobercms.com/author/Renatio).\n\n## Support\n\nPlease use [GitHub Issues Page](https://github.com/mplodowski/backupmanager-plugin-public/issues) to report any issues\nwith plugin.\n\n\u003e Reviews should not be used for getting support or reporting bugs, if you need support please use the Plugin support\n\u003e link.\n\nIcon made by [Darius Dan](https://www.flaticon.com/authors/darius-dan)\nfrom [www.flaticon.com](https://www.flaticon.com/).\n\n# Documentation\n\n## Usage\n\nAfter installation plugin will register backend **Backups** menu position.\n\n**Application backup** button will create backup with all project files and database dump file. To change which files\nwill be included see plugin **Settings**. Default settings will take project **base path** and exclude **vendor** and **node_modules** directories from it.\n\n**Database backup** button will create only database backup.\n\n**Clean old backups** button will clean up old backups based on the plugin **Settings**.\n\n**Backup log** button will show the latest backup log in popup window.\n\n\u003e **Important note:** Log is not created when you manually run console command.\n\n**Settings** button will redirect you to the plugin settings.\n\n## Maximum execution time error\n\nWhen you experience **Maximum execution time of ... seconds exceeded** error than most likely application backup is too\nlarge and PHP cannot do this process in a single request.\n\n\u003e What can I do?\n\n1. Change **max_execution_time** property value in your PHP configuration.\n2. Use [Scheduler](#scheduler) to perform automatic backups (recommended).\n3. Use [Console commands](#console-commands) to perform backups.\n\n## Settings\n\nThis plugin ships with settings page. Go to **Settings**, and you will see a menu item **Backup Manager** listed\nunder **Backup** section.\n\n### Source\n\n| Property                          | Description                                                                                                                          |\n|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| **Databases**                     | The names of the connections to the databases that should be backed up. MySQL, PostgreSQL, SQLite and Mongo databases are supported. |\n| **Exclude tables**                | Those tables will not be included in backup.                                                                                         |\n| **Compress database dump**        | The database dump can be compressed to decrease disk space usage.                                                                    |\n| **Follow links**                  | Determines if symlinks should be followed.                                                                                           |\n| **Ignore unreadable directories** | Determines if it should avoid unreadable folders.                                                                                    |\n| **Include**                       | The list of directories and files that will be included in the backup. Leave empty to backup whole October project.                  |\n| **Exclude**                       | These directories and files will be excluded from the backup. Directories used by the backup process will automatically be excluded. |\n\n### Destination\n\n| Property            | Description                                         |\n|---------------------|-----------------------------------------------------|\n| **Filename prefix** | The filename prefix used for the backup zip file.   |\n| **Name**            | The name of this application.                       |\n| **Disks**           | The disk names on which the backups will be stored. |\n\n### Scheduler\n\nConfigure how often plugin will run automatic tasks for database backup, application backup, clean old backups and\nmonitor the health of all backups actions.\n\n\u003e **Important note:** For scheduled tasks to operate correctly you must set up the\n\u003e scheduler: https://octobercms.com/docs/setup/installation#crontab-setup\n\n### Security\n\nHere you can specify password protection for backups. You will be asked to enter this password in order to unzip the\nbackup file.\n\n#### Password\n\nRemember to use long strings and to keep your password safe – **without it, you will never be able to open your backup**\n.\n\nLeave it blank if you want to keep your backup without a password.\n\n#### Encryption\n\nIt's common to encrypt backups before storing them somewhere to prevent unauthorized access.\n\nIt's important to try this workflow and also to decrypt a backup archive, so you know that it works and you have a\nworking backup restore solution.\n\n**Warning:** the default MacOS app to (un)archive ZIPs seems unable to open/extract encrypted ZIP files.\nYou should use an app like [The Unarchiver](https://theunarchiver.com/) or [BetterZip](https://macitbetter.com/).\n\n### Cleanup\n\n| Property                                                 | Description                                                                                             |\n|----------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| **Keep all backups for days**                            | The number of days for which backups must be kept.                                                      |\n| **Keep daily backups for days**                          | The number of days for which daily backups must be kept.                                                |\n| **Keep weekly backups for weeks**                        | The number of weeks for which one weekly backup must be kept.                                           |\n| **Keep monthly backups for months**                      | The number of months for which one monthly backup must be kept.                                         |\n| **Keep yearly backups for years**                        | The number of years for which one yearly backup must be kept.                                           |\n| **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. |\n\n### Monitoring\n\nA backup is considered unhealthy if the date of the latest backup is too far in the past to be useful or if the amount\nof storage space required for all backups is not available.\n\n| Property                                          | Description                                                                                                                                                                                                  |\n|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Newest backups should not be older than days**  | Send mail notification when newest backup will be older than given days. Default to 1 day.                                                                                                                   |\n| **Storage used may not be higher than megabytes** | Send mail notification when storage used for backups will be higher than given megabytes. Default to 5000 megabytes. Setting to 0 means the monitor will consider that the backup can use unlimited storage. |\n\n### Dumping the database\n\nThe `mysqldump`/`pg_dump` are used to dump the database. If they are not installed in a default location, you can add a\nkey named `dump.dump_binary_path` in October `database.php` config file. Only fill in the path to the binary. Do not\ninclude the name of the binary itself.\n\nIf your database dump takes a long time, you might exceed the default timeout of 60 seconds. You can set a higher (or\nlower) limit by providing a `dump.timeout` config key which specifies, in seconds, how long the command may run.\n\nHere's an example for MySQL:\n\n```\n// config/database.php\n'connections' =\u003e [\n\t'mysql' =\u003e [\n\t\t'driver' =\u003e 'mysql'\n\t\t...,\n\t\t'dump' =\u003e [\n\t\t   'dump_binary_path' =\u003e '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump`\n\t\t   'use_single_transaction',\n\t\t   'timeout' =\u003e 60 * 5, // 5 minute timeout\n\t\t   'exclude_tables' =\u003e ['table1', 'table2'],\n\t\t   'add_extra_option' =\u003e '--optionname=optionvalue',\n\t\t]\n\t],\n```\n\nThere is also a setting in backend area to exclude database tables from backup. By default, it will exclude logs tables.\n\n## Configuring the backup disk\n\nBy default, the backup will be saved into the storage/app/October CMS/ directory of your October application. This\nfolder most probably is configured to be public. We recommend that you create a disk named backups (you can use any name\nyou prefer) in filesystems.php and select this disk in plugin Settings.\n\n## Filesystems\n\nPlugin supports following storage drivers:\n\n* Local Storage\n* S3 Cloud Storage\n* FTP Storage\n* SFTP Storage\n* Dropbox Cloud Storage\n\nMore drivers can be added on feature requests. Just create an issue with **[Feature Request]** in title, and I will see\nwhat can be done.\n\nThe filesystem configuration file is located at **config/filesystems.php**. Within this file you may configure all of\nyour \"disks\". Example configurations for each supported driver is included in the configuration file. So, simply modify\nthe configuration to reflect your storage preferences and credentials!\n\n### S3 Driver Configuration\n\nBefore using the S3 driver, you will need to install the Flysystem S3 package via the Composer package manager:\n\n```\ncomposer require league/flysystem-aws-s3-v3 \"^3.0\"\n```\n\nThe S3 driver configuration information is located in your `config/filesystems.php` configuration file.\n\nAfter filesystem configuration go to plugin **Settings** and check `s3` disk in **Destination** tab.\n\n### FTP Driver Configuration\n\nBefore using the FTP driver, you will need to install the Flysystem FTP package via the Composer package manager:\n\n```\ncomposer require league/flysystem-ftp \"^3.0\"\n```\n\nLaravel's Flysystem integrations work great with FTP; however, a sample configuration is not included with the framework's default `filesystems.php` configuration file. If you need to configure an FTP filesystem, you may use the configuration example below:\n\n```\n'ftp' =\u003e [\n    'driver' =\u003e 'ftp',\n    'host' =\u003e env('FTP_HOST'),\n    'username' =\u003e env('FTP_USERNAME'),\n    'password' =\u003e env('FTP_PASSWORD'),\n\n    // Optional FTP Settings...\n    // 'port' =\u003e env('FTP_PORT', 21),\n    // 'root' =\u003e env('FTP_ROOT'),\n    // 'passive' =\u003e true,\n    // 'ssl' =\u003e true,\n    // 'timeout' =\u003e 30,\n],\n```\n\nAfter filesystem configuration go to plugin **Settings** and check `ftp` disk in **Destination** tab.\n\n### SFTP Driver Configuration\n\nBefore using the SFTP driver, you will need to install the Flysystem SFTP package via the Composer package manager:\n\n```\ncomposer require league/flysystem-sftp-v3 \"^3.0\"\n```\n\nLaravel's Flysystem integrations work great with SFTP; however, a sample configuration is not included with the framework's default `filesystems.php` configuration file. If you need to configure an SFTP filesystem, you may use the configuration example below:\n\n```\n'sftp' =\u003e [\n    'driver' =\u003e 'sftp',\n    'host' =\u003e env('SFTP_HOST'),\n\n    // Settings for basic authentication...\n    'username' =\u003e env('SFTP_USERNAME'),\n    'password' =\u003e env('SFTP_PASSWORD'),\n\n    // Settings for SSH key based authentication with encryption password...\n    'privateKey' =\u003e env('SFTP_PRIVATE_KEY'),\n    'password' =\u003e env('SFTP_PASSWORD'),\n\n    // Optional SFTP Settings...\n    // 'hostFingerprint' =\u003e env('SFTP_HOST_FINGERPRINT'),\n    // 'maxTries' =\u003e 4,\n    // 'passphrase' =\u003e env('SFTP_PASSPHRASE'),\n    // 'port' =\u003e env('SFTP_PORT', 22),\n    // 'root' =\u003e env('SFTP_ROOT', ''),\n    // 'timeout' =\u003e 30,\n    // 'useAgent' =\u003e true,\n],\n```\n\nAfter filesystem configuration go to plugin **Settings** and check `sftp` disk in **Destination** tab.\n\n### Dropbox configuration\n\nInstall [Dropbox Adapter](https://octobercms.com/plugin/renatio-dropboxadapter) plugin.\n\nRead this external plugin documentation and configure Dropbox filesystem.\n\nAfter filesystem configuration go to plugin **Settings** and check `dropbox` disk in **Destination** tab.\n\n## Console commands\n\nPlugin will create three new artisan commands for working with a console.\n\n**backup:run** command will run new backup process. Add **--only-db** option for backup only database.\n\n**backup:clean** command will run clean old backups process.\n\n**backup:list** command will display status of all monitored destination filesystems.\n\n**backup:monitor** command will check status of all monitored destination filesystems.\n\n## Mail notifications\n\nPlugin can send notifications when:\n\n- backup was successful,\n- backup has failed,\n- cleanup was successful,\n- cleanup has failed,\n- healthy backup was found,\n- unhealthy backup was found.\n\nTo configure this feature go to plugin **Settings** and **Notifications** tab.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmplodowski%2Fbackupmanager-plugin-public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmplodowski%2Fbackupmanager-plugin-public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmplodowski%2Fbackupmanager-plugin-public/lists"}