This page has some background information on making backups and explains some basic *nix backup and restore procedures.
Your wiki installation contains some unique data in the following directories:
local/ Local configuration scripts cookbook/ Recipes obtained from the Cookbook pub/ Publicly accessible files wiki.d/ Wiki pages uploads/ Uploaded files (attachments)
A good backup plan will include periodically archiving these directories — or at bare minimum
wiki.d/. Good practice dictates keeping your backup archives on a separate machine.
When it comes to backup, simpler is better. Since the pmwiki distribution is very small (about 1/4 megabyte), it's simplest to just archive the distribution files along with the data.
The following *nix command, executed from the parent directory of your wiki's directory, will put a complete backup archive of your site in your home directory.
tar -zcvf ~/wiki-backup-`date +%Y%m`.tar.gz wiki/
Your site can be restored and running in under 30 seconds with
tar -zxvf ~/wiki-backup-200512.tar.gz find wiki/uploads/ -type d |xargs chmod 777 find wiki/wiki.d/ -type d |xargs chmod 777
The simple restore commands above will give you world-writable files and directories. You can avoid world-writable permissions by letting PmWiki create directories with the proper attributes (ownership and permissions) for you.
tar -zxvf ~/wiki-backup-200512.tar.gz rm -rf wiki/wiki.d rm -rf uploads chmod 2777 wiki/
Now upload a file in each group that had uploads. If your site doesn't have uploads, just visit your site once so the wiki.d/ directory will be created.
Finish your installation with
chmod 755 wiki/ tar -zxvf ~/wiki-backup-200512.tar.gz
The commands on this page assume your site is in a directory called "wiki/". The test backup was made in December, 2005 so it's named accordingly.
Your site will only have an uploads/ directory if uploads are enabled.
The backup command uses a date stamp (YYYYMM) in the filename. If you automate the command via cron you'll wind up with monthly snapshots of your site. You can get a daily snapshot by appending %d to the date command (
`date +%Y%m%d` will get you YYYYMMDD). Be wary of space limitations if you have a large uploads/ directory.
Download and install a ftp client like Filezilla
wiki.dfor user page data
uploads) for your attachments (uploads)
localfor configuration data
pubfor local CSS and skins customisations
You can also very easily sync your FTP directories with your hard disc via this command line:
wget -nv -np -m ftp://user:[email protected]/
Download Wget for Windows (other systems normally have it installed).
Alternatively, you can also mirror your FTP directories with lftp:
lftp -u your_user_name,your_password -e "mirror --verbose /wiki.d /path/to/local/folder" ftp://your_host
(this will mirror only the /wiki.d folder, replace with / to mirror everything)