Backups of a site are an uncompressed tar file. Uncompressed because most of the files in it are compressed. All files in the tar file need to be owned by root:root, and the backup file should be kept mode 400 as it contains eg, passwords.
tarball contents
$vcs.dump
- some kind of serialization of the vcs repository (for git,git.dump
is a git-bundle)- other files can be included in the tarball using the same
filename as is used in the home directory. For example as
source/.ikiwiki/indexdb
andsource/.ikiwiki/userdb
. - the contents of the
rootconfig
directory in the tarball are installed into/etc/ikiwiki-hosting/config/$user
This format allows the backup to be created by serializing the vcs
and then just tarring up selected files from the home directory of the
site, along with any files from /etc/ikiwiki-hosting/config/$user
.
rsyncability
git dumps are highly rsyncable, and since the tarball is uncompressed, as a whole it is quite rsyncable too. Real world numbers: For a 15 mb backup, rsync reported a speedup of 166, and needed to send only 68 kb.