- Compatible XF Versions
- 1.3, 1.4
- Additional Requirements
- PHP 5.3+, PHP exec() (see Requirements below), mysqldump, tar, gzip
- Visible Branding
If this addon is useful to you, please consider donating any amount.
This is a great option for sites that currently don't have a scheduled backup routine in place for their XenForo installation.
This addon, once installed, will backup your database and/or forum directory as 2 separate files to a location of your choosing, preferably outside of the forum root. You can choose the name of the backup files, and the date format to append to the filename. You can also choose how often to run the backups (daily, weekly, etc.) via the cron settings, and how many copies of your database and code to keep. You can run the backup manually via the Tools -> Cron Entries -> ForumBackup -> Controls page. By default, the backup database is scheduled to run daily at midnight, and the code backup is scheduled to run at 00:30.
The forum is (optionally) turned off while the processes are running, and the files are compressed with gzip or pigz. There is an option of what message to display to any visitors while the backups are running.
This addon adds no branding, has no encryption, and no "call home" features. That being said, this add-on makes no guarantees or claims about its usefulness.
If you get a server error generated when this cron runs. Turn debug on, and run it again, a log file will be generated in the backup directory that can tell you what has failed. Send the contents to me via conversation if you need help.
If you have problems with the add-on make sure that you have the backup directory set to a directory writable by the web server. The biggest problems seem to be server configurations that don't know where mysqldump is located. You can also turn on debug in the options and manually run the cron to see if it records any errors in the generated log file.
This backup add-on is a little more security aware than others that use the mysqldump utility. In this version, the database configurations are written to a temporary, randomized config file, which are then read into the mysqldump utility, and the file removed. In other backup solutions that use mysqldump, the database credentials are supplied with the mysqldump command, which can allow anybody with 'ps' access on the server to see your database credentials while it runs.
I don't claim to be a great XenForo developer, but I've tested this pretty thoroughly on my own sites. If you are a trusted XenForo developer, you are welcome to provide insight and constructive criticism about how this add-on operates.
Thanks to Bobster for some help with understanding some things.
- This add-on uses the PHP exec() function to run the mysqldump and tar commands to backup the database and forum directory, respectively. If you are on shared hosting, you may not have access to the exec() function. The installation should fail if this is the case.
- Your server must have the mysqldump and tar commands available. For 95% of XenForo installations, this shouldn't be a problem. You may have to specify the location of mysqldump in the options if the add-on tells you that mysqldump can't be found.
- For larger boards, you may need to have a pretty high PHP max_execution_time. From my testing, it took less than a minute to backup the database and forum root with 200,000+ posts and 3000+ members.
- XenForo 1.3.0 and above, and PHP 5.3+ is required.[/B][/B]
What this add-on does NOT do
- This addon will not work on Windows servers.
- This addon will not allow you to restore from a backup.
- This addon does not provide a user interface to download backups.
- This addon does not have the ability to transfer backups offsite via ftp or other means. But this addon does that.
- Dropbox integration possibly, as a separate addon, similar to the SFTP transfer addon.
- Related Resources
ForumBackup SFTP Extension
Using WINScp to schedule backup transfers (useful to transfer files from your web site to your Windows computer)