Backup your Entire Website with the TAR Command in Linux

tar command Like everything in computing, there are always multiple ways to do something. I’m going to show you how to back up an entire website with the TAR command available in every distribution of Linux. It’s fast, simple and effective. I’ll also show you how to extract it. Again, it’s fast, simple and effective.

The only problem you’ll have is where to store the backup file. I download mine by FTP and I don’t do it often. Because my website stores its data in a database, the only thing I need regularly is a database dump file.

The PHP Script for Backing up a Website with TAR

This is the script I use to back up a single website. Only the information within the brackets needs to be changed (along with the brackets themselves]:

chdir( '[parent-directory'];
shell_exec('tar -czpvf [child-directory'].tar.gz [child-directory]');

I could have used a shell script, but I like using what I’m familiar with and I’m familiar with PHP. The only reason you need any script at all is because the TAR command doesn’t like forward slashes. The safest way is to move one directory above the one you want to archive and then run the command.

The PHP Script for Restoring a Website

The same thing applies with TAR for restoring a website, so the script will be similar:

chdir( '[parent-directory'];
shell_exec('tar -xzpvf [child-directory'].tar.gz);

I keep these scripts in my root directory and I run them from the command line in an SSH terminal session. I rarely do it and it’s usually when I’m getting ready to change a bunch of stuff. It’s even rarer when I take the time to download it.

The archive can get quite large. The last time I created a file, it was over 300 megabytes compressed with gzip (it would still be big with bzip). It’s not something I want to automatically create or download.

August 13, 2016


Previous and Next Articles:

« »


Your comment will appear below the form when it’s approved. When the page redisplays after hitting the send button (it can take a few seconds), your comment will have been sent.

The e-mail address you use to post your comment will not be stored anywhere. Your “name” will only appear on this page, unless you post a comment elsewhere. Your website, if any, will be linked to your name.