With a couple of Laravel developments out in the wild, I needed to make sure that they were integrated with my existing backup solution, which includes archived / off-server storage of backups. Pulling down the backups once I had them is pretty straightforward – everything is already set up to do that from the servers I use.
For WordPress sites, I usually use the BackUpWordPress plugin from the team at Human Made:
BackUpWordPress
by Tom Willmot
BackupWordPress was created by our friends at Human Made but is now under new ownership. We’re committed to opensource and WordPress and will provide free support for the many BackupWordPress fans.
We’ll make occasional updates to the free software – please send us any patches you’d like to see released here: https://github.com/orgs/xibodevelopment/
However, we’ll no longer be selling or supporting the paid add-ons (e.g. for backups to Dropbox and Google Drive). It’s certainly a good idea to backup to cloud storage to protect against server-wide risks.
For this we recommend UpdraftPlus WordPress Backups which can do things for free BackupWordPress Premium could do on a paid basis. Click here for full comparison.
BackUpWordPress will back up your entire site including your database and all your files on a schedule that suits you. Try it now to see how easy it is!
This plugin requires PHP version 5.3.2 or later
Features
- Super simple to use, no setup required.
- Works in low memory, “shared host” environments.
- Manage multiple schedules.
- Option to have each backup file emailed to you.
- Uses
zip and mysqldump for faster backups if they are available.
- Works on Linux & Windows Server.
- Exclude files and folders from your backups.
- Good support should you need help.
- Translations for Spanish, German, Chinese, Romanian, Russian, Serbian, Lithuanian, Italian, Czech, Dutch, French, Basque.
Translations
We’d also love help translating the plugin into more languages, if you can help then please visit https://translate.wordpress.org/projects/wp-plugins/backupwordpress/dev/ to start translating.
Stats:
- Current version: 3.14
- Rating: 94(1374 ratings)
- Downloaded 4,909,776 times
For Laravel though, I was starting afresh. I found what looked like a good solution in the form of the Laravel Backup package from the team at Spatie. There were a couple of things I liked about the package:
- It’s simple, straightforward, and does one thing (create backups) well.
- It’s from a team who have a clear track record of delivering open source packages
- From a look through the issue queue, it’s well maintained and open to pull requests from users.
A package to backup your Laravel app
https://github.com/spatie/laravel-backup
796 forks.
5,988 stars.
0 open issues.
Recent commits:
- Harden Dependabot auto-merge actor checkgithub.actor reflects the actor that triggered the run, not the PRauthor, so it can read 'dependabot[bot]' on a PR whose code is notfrom Dependabot. Gate on the immutable PR author instead, and add arepository guard so forks that copy this workflow do not auto-merge.Reported by Volker Dusch (@edorian) and the PHP Foundation.Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>, Freek Van der Herten
- Use native GitHub Actions badges in READMECo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>, Freek Van der Herten
- Update CHANGELOG, github-actions[bot]
- Fix #1975: resolve cleanup strategy from the specified config (#1976)The backup:clean command always used the cleanup strategy from thedefault backup config, even when a different config was passed via–config. The strategy is bound once in the service provider fromconfig('backup.cleanup.strategy'), so the injected instance ignoredthe –config option. Re-resolve the strategy from the specifiedconfig's cleanup.strategy when –config is used., GitHub
- Fix PHPStan error in File::mimeType() (#1977)The IlluminateContractsFilesystemFilesystem contract now declaresmimeType(), so the method_exists() guard always evaluated to true andPHPStan flagged it. Since $disk is type-hinted as Filesystem, themethod is guaranteed; drop the redundant guard and remove the nowobsolete baseline entry., GitHub
While I’m using it to back up to the local filesystem initially (backups are then transferred offsite separately by an existing system), the package allows you to put your backups onto any supported filesystem, so having it backup to S3, Dropbox, FTP, Rackspace cloud files or similar is just as straightforward.
I love the team’s concept of “Postcardware“, it’s nice as an open source author to know that your work is being appreciated, and used, and I hope they get plenty of postcards!
I have to say though, the real highlight in finding this package was finding Spatie and their broad range of Laravel packages – there’s at least one more that features in this series, and I can easily see myself using more of their packages in the future – thanks Spatie!