[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: