You got me curious because I was always a big fan of 7zip on my Windows machines. It turns out that 7z has to specifically be installed on the server, and regular user permissions wouldn’t be able to do that.
I went and got the install for my Linux machine just to check it out and it doesn’t strike me as such a good choice. The README file warns that you should not use 7z for backups on Linux because it doesn’t preserve owners and permissions. They indicate that you should instead first tar the directory and pipe it to 7z for compression.
Considering that most anyone that you give this file to wouldn’t be able to extract it without installing special applications, you might just want to stick with gzip. bzip/bzip2 gives better compression, but I just use good old gzip because the decrease in performance was more significant to me than a little smaller filesize.
I did some testing, I am backing up the following:
[quote]/home/user/domain.com - html, php, flash, images - 5.4MB Un-compressed / 5.5MB Tar’ed
/home/user/store.domain.com - Magento Store - 160.3MB Un-compressed / 203.3 Tar’ed
mysql.sql - Magento MySQL DB - 2.5MB un-compressed[/quote]
Total = 168.2MB Un-Compressed / 211.3MB Tar’ed (including un-tared mysql)
I tar’ed the .com and the store so that I could preserve permissions, but it’s pretty funny to notice that by doing that I actually increased the size of the files by 2% and 21% respectively. I didn’t Tar the mysqldump because there wasn’t a need to preserve permissions.
Anyways on to the results:
[quote]gzip = 64.8MB = 70% compression
bzip2 = 58.2MB = 73% compression
7z = 42.6MB = 80% compression[/quote]
So all in all, it’s not that much of a savings to use 7z over gzip for web site related backups. While I didn’t time the compression or CPU usage, I know for a fact 7z is a resource hog, so it doesn’t surprise me that Dreamhost doesn’t have it enabled. I just had to ask.