lvalnegri icon

contabo_backup.md

lvalnegri | PRO | 03/28/21 02:04:18 PM UTC (Edited) | 0 ⭐ | 383 šŸ‘ļø | Never ā° | []
Markdown |

1.58 KB

|

None

|

0 šŸ‘

/

0 šŸ‘Ž


install tools:
sudo apt-get install pigz lftp curlftpfs


configure ftp client:
lftp
(lftp :~>) set ftp:ssl-force true
(lftp :~>) set ssl:verify-certificate no
(lftp :~>) connect <address>
(lftp <address>:~>) login <usrname>
(enter password)


create a file called .netrc in the home directory to store credentials with the following content:
machine <address>
login <usrname>
password <pwd>
Set the permissions on the file so that you are the only user who can read it:
chmod 0600 ~/.netrc 


create mounting point for ftp server:
sudo mkdir /mnt/ftp
sudo curlftpfs -o allow_other,ssl,no_verify_peer <address> /mnt/ftp


create compressed archives using pigz of desired directories/files in some tmp folder:
hme="/home/usrname"
tmp=$hme/temp/backup
fconf="list all configuration files"
cd $tmp
tar --exclude=".git*" --exclude="*.Rproj*" --exclude=".Rhistory" --exclude=$tmp -c --use-compress-program=pigz -f $tmp/backup_home.tar.gz $hme/*
tar -c --use-compress-program=pigz -f $tmp/backup_public.tar.gz $PUB_PATH/*
tar -czf $tmp/backup_conf.tar.gz $fconf


Move files to ftp folder:
mv $tmp/* /mnt/ftp


create sh file using 5 and 6 above, then changing permissions:
chmod +x /home/usrname/cronjob/backup.sh


add entry to crontab (in this way, the script runs at 4AM every Sunday):
0 4 * * 7  /home/usrname/cronjob/backup.sh

Comments