Diferencia entre revisiones de «Rdiff-backup»

De gacq wiki
Saltar a: navegación, buscar
(The script)
(Simple automatic incremental daily backup using rdiff-backup)
Línea 1: Línea 1:
 
= Simple automatic incremental daily backup using rdiff-backup =
 
= Simple automatic incremental daily backup using rdiff-backup =
 
== The script ==
 
== The script ==
Put the backup script on /srv/backups/rdiff-backups/$HOSTNAME-rdiff-backup.sh
+
Put the backup script on /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh
  
 
<pre>
 
<pre>
HOSTNAME=vtiger1.aiki-translations.com
+
SERVER_TO_BACKUP=vtiger1.aiki-translations.com
  
 
rdiff-backup \
 
rdiff-backup \
 
  --print-statistics \
 
  --print-statistics \
  --remote-schema "ssh -i /srv/backups/rdiff-backups/id_rsa-$HOSTNAME -C %s 'sudo /usr/bin/rdiff-backup --server --restrict-read-only /'" \
+
  --remote-schema "ssh -i /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP -C %s 'sudo /usr/bin/rdiff-backup --server --restrict-read-only /'" \
 
  --preserve-numerical-ids \
 
  --preserve-numerical-ids \
 
  --verbosity 4 \
 
  --verbosity 4 \
Línea 15: Línea 15:
 
  --include /home \
 
  --include /home \
 
  --exclude / \
 
  --exclude / \
  backup@$HOSTNAME::/ $HOSTNAME
+
  backup@$SERVER_TO_BACKUP::/ $SERVER_TO_BACKUP
  
 
rdiff-backup --force --remove-older-than 4W $HOSTNAME
 
rdiff-backup --force --remove-older-than 4W $HOSTNAME
Línea 34: Línea 34:
 
;Run as root
 
;Run as root
 
<pre>
 
<pre>
HOSTNAME=SERVER_TO_BACKUP
+
SERVER_TO_BACKUP=SERVER_TO_BACKUP
  
mkdir -p /srv/backups/rdiff-backups/$HOSTNAME
+
mkdir -p /srv/backups/rdiff-backups/$SERVER_TO_BACKUP
 
apt-get install rdiff-backup python-xattr python-pylibacl
 
apt-get install rdiff-backup python-xattr python-pylibacl
ssh-keygen -t rsa -N "" -f /srv/backups/rdiff-backups/id_rsa-$HOSTNAME
+
ssh-keygen -t rsa -N "" -f /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
cat /srv/backups/rdiff-backups/id_rsa-$HOSTNAME.pub | ssh root@$HOSTNAME 'cat - > /var/backups/.ssh/authorized_keys'
+
cat /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP.pub | ssh root@$SERVER_TO_BACKUP 'cat - > /var/backups/.ssh/authorized_keys'
  
chown root:root /srv/backups/rdiff-backups/id_rsa-$HOSTNAME
+
chown root:root /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
chmod 600 /srv/backups/rdiff-backups/id_rsa-$HOSTNAME
+
chmod 600 /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
chown root:root /srv/backups/rdiff-backups/$HOSTNAME-rdiff-backup.sh
+
chown root:root /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh
chmod 750 /srv/backups/rdiff-backups/$HOSTNAME-rdiff-backup.sh
+
chmod 750 /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh
  
echo "0 4 * * * root /srv/backups/rdiff-backups/$HOSTNAME-rdiff-backup.sh" > /etc/cron.d/$HOSTNAME-rdiff-backup
+
echo "0 4 * * * root /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh" > /etc/cron.d/$SERVER_TO_BACKUP-rdiff-backup
 
/etc/init.d/cron restart
 
/etc/init.d/cron restart
 
</pre>
 
</pre>

Revisión del 17:24 6 oct 2008

Simple automatic incremental daily backup using rdiff-backup

The script

Put the backup script on /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh

SERVER_TO_BACKUP=vtiger1.aiki-translations.com

rdiff-backup \
 --print-statistics \
 --remote-schema "ssh -i /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP -C %s 'sudo /usr/bin/rdiff-backup --server --restrict-read-only /'" \
 --preserve-numerical-ids \
 --verbosity 4 \
 --force \
 --include /etc \
 --include /home \
 --exclude / \
 backup@$SERVER_TO_BACKUP::/ $SERVER_TO_BACKUP

rdiff-backup --force --remove-older-than 4W $HOSTNAME

On server to backup

apt-get install rdiff-backup python-xattr python-pylibacl sudo
mkdir /var/backups/.ssh

add to /etc/sudoers

backup ALL = NOPASSWD: /usr/bin/rdiff-backup --server --restrict-read-only /

On backup server

Run as root
SERVER_TO_BACKUP=SERVER_TO_BACKUP

mkdir -p /srv/backups/rdiff-backups/$SERVER_TO_BACKUP 
apt-get install rdiff-backup python-xattr python-pylibacl
ssh-keygen -t rsa -N "" -f /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
cat /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP.pub | ssh root@$SERVER_TO_BACKUP 'cat - > /var/backups/.ssh/authorized_keys'

chown root:root /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
chmod 600 /srv/backups/rdiff-backups/id_rsa-$SERVER_TO_BACKUP
chown root:root /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh
chmod 750 /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh

echo "0 4 * * * root /srv/backups/rdiff-backups/$SERVER_TO_BACKUP-rdiff-backup.sh" > /etc/cron.d/$SERVER_TO_BACKUP-rdiff-backup
/etc/init.d/cron restart