|
Scritto da Alessandro Pensato
|
|
Venerdì 21 Gennaio 2011 22:30 |
|
Installiamo i pacchetti rsync ed ssh sul nostro sistema tramite APT.
apt-get install rsync ssh
Colleghiamoci al server di backup in modo da inserire la sua chiave ssh nell'archivio delle chiavi remote conosciute e creiamo la directory dove conservare i backup periodici dei nostri dati, quindi torniamo su nostro server.
ssh backup.porkyhttp.no-ip.infomkdir /home/backup_servers/server chmod 755 /home/backup_servers/server exit
Ora bisogna generare una chiave che consentirà di collegare il nostro server al server di backup via ssh, senza che quest'ultimo ci chieda di inserire una password, ed registrarla sul server remoto dove andremo a caricare i dati. Di fatto. l'autenticazione viene effettuata sulla base di questa chiave.
ssh-keygen -t rsa cat .ssh/id_rsa.pub | ssh
Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
'cat >> .ssh/authorized_keys'
Ora procediamo a creare uno script per l'esecuzione del backup. In pratica andiamo a creare un archivio compresso che contiene le directory da salvare ed inviamo lo stesso sul server remoto.
nano backup #!/bin/sh RM=$(which rm) TAR=$(which tar) TAR_OPTS="cvzf" FTP=$(which ftp) FIND=$(which find) ECHO=$(which echo) DATA=$(which date) DATE=$($DATA +%F) ARCHIVE="$DATE-server.backup.tgz" BACKUP_DIR="/var/www/ /etc/apache2/" cd /tmp $TAR $TAR_OPTS $ARCHIVE $BACKUP_DIR rsync -avz -e ssh $ARCHIVE
Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
:/home/backup_servers/server/ rm /tmp/$ARCHIVE exit 0
Ovviamente questo script deve essere eseguibile.
chmod +x backup
Inseriamo una riga in crontab per schedulare l'esecuzione ad un orario prestabilito, in questo casso alle 3:00 di ogni giorno.
crontab -e # Esegue il backup della cartella /var/www e /etc/apache2 00 3 * * * /root/backup
|