Linux counter

Cisco User Group

Accessi

TodayToday459
YeserdayYeserday565
This WeekThis Week4109
This MonthThis Month13757
All DaysAll Days520427
38.107.179.219
Guests 5
Registered Users 1
Registered Today 0

Mappa visitatori

Backup via Rsync e SSH PDF Stampa E-mail
(1 - user rating)
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.info
mkdir /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
 

Aggiungi commento


Codice di sicurezza
Aggiorna