Re: script laptop -> desktop
On Sat, 24 Jul 2004 10:40:02 +0200
matteo <suryaREMOVE@email.it> wrote:
> Cosa usate/consigliate?
> Avevo pensato ad uno script su ssh...
Questo script, che non ho fatto io, permette tramite rsync e SSH di
tenere una copia mirror del tuo disco e le differenze degli ultimi sette
giorni.
Ciao.
script backup.sh
#!/bin/sh
# Script che utilizza rsync per
# backup incremental (ciclo 7 giorni):
# Full backup giornaliero:/backup/
# Differenze giornaliere:/backup/incremental/`date +%A`
# moimNOSPAM@augh.net 28-10-2003
#set -x
#unset MOUNTED
#export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# directories da backupare
BDIR_HOME="/home"
BDIR_SYS="/boot /etc /root /var"
# macchina di backup
BSERVER=localhost
# directory log
LOG="/var/log/backup"
# opzioni rsync
INCR_DIR=`date +%A`
OPTS="-v --exclude lost+found --exclude /var/lib/htdig --force --delete
--backup --backup-dir=/incremental/$INCR_DIR -aS"
# comandi vari
CLEAN="[ -d /backup/incremental/$INCR_DIR ] && rm -rf
/backup/incremental/$INCR_DIR" MOUNT_RW="mount -o rw /backup"
REMOUNT_RW="mount -o remount,rw /backup"
REMOUNT_RO="mount -o remount,ro /backup"
UMOUNT="umount /backup"
#######################################################################
#backup selezione pacchetti e configurazioni
# (in /root/backup cosi` poi dopo viene backuppato da rsync)
dpkg --get-selections > /root/backup/arjuna-selections
tar cPf - /etc > /root/backup/etc.tar
#### rsync backup
# inizializzazione file di log
date -u > $LOG/backup.log
# mount rw di backup. se fallisce (perche' gia` montato ro) tento di
# rimontare rw, se fallisce stop.
if ( ! $MOUNT_RW > /dev/null 2>&1 ) then
if ( ! $REMOUNT_RW > /dev/null 2>&1 ) then
mail -s "backup: failed to remount rw, aborted" root@localhost <
$LOG/backup.log exit
fi
MOUNTED='yes'
fi
# rimozione vecchia directory incrementale
ssh $BSERVER $CLEAN >> $LOG/backup.log
# backup /home and system directories
rsync $OPTS $BDIR_HOME $BSERVER::backup >> $LOG/backup.log
rsync $OPTS $BDIR_SYS $BSERVER::backup >> $LOG/backup.log
# mail di notifica
mail -s "`date +%Y-%m-%d`: backup log" root@localhost < $LOG/backup.log
# umount: se $MOUNTED allora provo remount ro, se fallisce mando
# notifica.
# se invece, ! $MOUNTED, umount
if [ $MOUNTED ]; then
if ( ! $REMOUNT_RO > /dev/null 2>&1 ) then
mail -s "backup: WARNING: remount /backup ro failed" root@localhost <
/dev/null fi
else
$UMOUNT > /dev/null 2>&1
fi
# chiusura log
savelog $LOG/backup.log > /dev/null 2>&1
#######################################################################
configurazioni di rsync.conf
read only = false
usechroot = true
uid = 0
gid = 0
host allow = localhost
[backup]
path = /backup
comment = Full Backup
--
, ,
/ \
((__-^^-,-^^-__)) http://www.frequenze.it
`-_---' `---_-'
`--|o` 'o|--' Debian Sarge kernel 2.4.22
\ ` / Notebook Asus A2520 CPU 2.4Ghz RAM 512MB
): :(
:o_o:
"-"
Reply to: