Newsgroup: it.comp.os.linux.debian
Titolo: Backup

Ciao a tutti,
ho un file server con un hd esterno usb da 0,5 TB per i backup; pensavo di
fare riferimento a questa guida (non fosse altro per provare qualcosa di
nuovo :-)):
Easy Automated Snapshot-Style Backups with Rsync
http://www.mikerubel.org/computers/rsync_snapshots/
L'idea sarebbe appunto quella di realizzare delle fotografie quotidiane,
diciamo dell'ultimo mese, in particolare delle home degli utenti.
Commenti?
Ho poi visto che per Debian testing sono disponibili questi altri oggetti,
basati più o meno su rsync:
backuppc - high-performance, enterprise-grade system for backing up PCs
dirvish - Filesystem based backup system using rsync
duplicity - encrypted bandwidth-efficient backup
Qualcuno di voi li ha provati? "backuppc" mi sembra il più interessante dei
tre... Ne avete provati altri? Meglio rsync?
Ciao,
  Void :-)

 wrote:
Io uso rsync abbinato a dd. 
rsync copia anche i device. 
Mi sono trovato a fare un disaster recovery 
poco tempo fa e praticamente e' come se avessi 
spento e riacceso la macchina.
Effettivamente il mio e' un metodo un po' 
casereccio ma funziona!
ciao max


 spento e riacceso la macchina.
Bene, questo mi rassicura! :-)
Ciao e grazie,
  Void

 wrote:
Allora ti dico come faccio io.
Abstract
2 dischi /dev/hda e /dev/hdb con la stessa geometria e stesse
partizioni avviabili
3 partizioni per disco una di boot ossia /dev/hda1 e ovviamente
/dev/hdb1
quella di swap hda2 (hdb2)
e la / hda3 (hdb3)
Assumo che /dev/hdb sia il disco che ospita la copia di /dev/hda
primo step , faccio la copia del MBR in modalita' single user (init 1)
con dd
dd if=/dev/hda of=/dev/hdb bs=512 count=1
secondo step quella di boot sempre con dd
dd if=/dev/hda1 of=/dev/hdb1
terzo step
formatto con mkswap la /dev/hdb2
quarto step
formatto la /dev/hdb3 , cioe' quella che ospitera' 
la / , con mkfs.ext3 e la monto sul disco da copiare 
es: mkdir disk2 
mount /dev/hdb3 /disk2 
quinto step
eseguo la copia di / con rsync 
con questo piccolo script
for i in bat bin command dev  etc home initrd lib misc opt package
root sbin service tmp usr var ; do rsyn
c -avq  /$i /disk2 ; done
Nota non devi ricreare la proc 
e per la boot fai solo una mkdir boot su hdb3
perche' tramite fstab poi si provvedera' a fare la mount di boot
attento che in alcuni casi ci sono le label che rompono!!! controlla 
grub o lilo e se devi ricreare le label usa il comando e2label (un bel
man e2label e' vivamnete consigliato)
Spero che ti sia di aiuto , a disposizione 
Massimo Muracchioli


 Allora ti dico come faccio io.
Grazie per lo spiegone, l'ho trovato interessante, però... forse abbiamo
esigenze un po' differenti...
Ciò che hai implementato tu mi sembra molto vicino ad un RAID software,
mentre io ho già un raid1 hardware e devo fare degli snapshot con certe
cadenze delle home degli utenti a scopo sia di backup che di "archivio
storico".
Io ho: 2 hd 70 gb (presto 140gb) scsi in raid1
       1 hd 512 gb esterno usb per i backup
Pensavo di fare così, sulla falsariga di
http://www.mikerubel.org/computers/rsync_snapshots/
:
======================================================================
#!/bin/bash
# ----------------------------------------------------------------------
# mikes handy rotating-filesystem-snapshot utility
# ----------------------------------------------------------------------
# this needs to be a lot more general, but the basic idea is it makes
# rotating backup-snapshots of /home whenever called
# ----------------------------------------------------------------------
unset PATH      # suggestion from H. Milz: avoid accidental use of $PATH
# ------------- system commands used by this script --------------------
ID=/usr/bin/id;
ECHO=/bin/echo;
MOUNT=/bin/mount;
RM=/bin/rm;
MV=/bin/mv;
CP=/bin/cp;
TOUCH=/bin/touch;
DATE=/bin/date;
FIND=/usr/bin/find;
SORT=/usr/bin/sort;
HEAD=/usr/bin/head;
TAIL=/usr/bin/tail;
RSYNC=/usr/bin/rsync;
# ------------- file locations -----------------------------------------
#MOUNT_DEVICE=/dev/hdb1;
SNAPSHOT_RW=/snapshots;
EXCLUDES=/usr/local/etc/backup_exclude;
FIRST=`$FIND /snapshots/ -maxdepth 1 -name "*H" | $SORT | $HEAD -n 1`;
LAST=`$FIND /snapshots/ -maxdepth 1 -name "*" | $SORT | $TAIL -n 1`;
DEST=`$DATE +%Y.%m.%d-%H.%M.%S`;
# ------------- the script itself --------------------------------------
# make sure we're running as root
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root.  Exiting...";
exit; } fi
# rotating snapshots of /home (fixme: this should be more general)
# step 1: delete the oldest snapshot, if it exists:
# presuppone la creazione di N cartelle dummy prima dell'avvio del
# meccanismo
if [ -d $FIRST ] ; then                                         \
  $RM -rf $FIRST ;                                              \
fi ;
# step 4: rsync from the system into the latest snapshot (notice that
# rsync behaves like cp --remove-destination by default, so the destination
# is unlinked first.  If it were not so, this would copy over the other
# snapshot(s) too!
$RSYNC                                                          \
        -va --delete --delete-excluded                          \
        --exclude-from="$EXCLUDES"                              \
        --link-dest="$LAST"                                     \
        / $SNAPSHOT_RW/$DEST-H ;
======================================================================
Mettendo script simili in cron.hourly/daily/weekly/monthly mi permetterebbe
di avere N backup ogni ora (solo per provare, M giornalieri, L settimanali
e I mensili...
Ciao,
  Void :-)

   Void :-)
-- 
Togli MAPSON per rispondere

 Io non metterei i delete... non si sa mai!
Perché? I delete cancellano solo i file nella directory sincronizzata,
ovvero nell'ultimo snapshot, non nei precedenti...
Ciao,
  Void :-)