Here is the scenario:
– Domain that needs to be backed up (public_html, mail, database).
– Only access available via cPanel and FTP.
– Need automated daily full backup.
– Take full backup on server and compress its contents (cronjob on remote server)
– Download via FTP the compressed file to the local machine (cronjob on local machine).
– Delete compressed file.
There might be tools that do this, although I didn’t come across any while looking on the web. I implemented a simple solution based on bash scripts that gets the task done.
– backup.sh: Goes on the remote server to run as a cronjob.
– ftp.sh: Runs locally (on the machine that will store the backup) as a cronjob.
– .netrc: Defines the FTP account details (stored in /home/$user/.netrc)