Io uso (anche) rsync su linux:
`#!/bin/bash
# Individuazione dell'utente
USER=`whoami`
# Directory di origine di cui fare il backup
SOURCE=( .abook .gftp .vimrc argomentare articoli bibliografie cataloghi cd
condominio copertine cratilo dialettica dizionario documenti download
ermeneutica esperienza ezine fichte filosofi franchetti1 franchetti3
guide_debian guide_latex guide_linux guide_php guide_slackware html4dummies
mail mamma materiali moodle mutt4dummies myfonts neopositivisti noneuclidee
novecento pics privacy protagonisti protagonisti_nuovo public_html retorica
sabina sacchettino schelling scuola slack4dummies slackbook slackproject songs
storia tesi tesi2 tin4dummies tractatus xindy backup.sh full.sh
/mnt/archive/font /mnt/archive/slackware /mnt/archive/software )
# Directory di destinazione dove fare il backup
TARGET=”/media/$USER/CORSAIR”
# Lista file da escludere
# EXCLUDE=”/home/samiel/.rsync/exclude”
# Data del backup; %H_%M per avere anche l'orario
date=`date “+%y-%M-%D”` # %H_%M per avere anche l'orario
# Tag dei log scritti in /var/log/messages
TAG=”backup_full”
# Verifica che il disco sia montato
# if mount | grep -q $TARGET
## MOUNTED=$(df | grep $TARGET | awk '{print $6}')
## if [[ “$MOUNTED” == “$TARGET” ]]
#then
# echo “Il disco è montato: eseguo il backup”
# logger Inizio backup di $SOURCE per `hostname` -t $TAG
# rsync -arvu –progress –exclude-from=$EXCLUDE $SOURCE $TARGET RSYNCERR=$?
# logger Fine backup per `hostname`: rsync ha restituito $RSYNCERR -t $TAG
# exit 0
#else
# echo “Il disco non è montato”
# logger Impossibile eseguire il backup di `hostname`: disco non montato -t $TAG
# exit 1
#fi
rsync -rvuz –delete –delete-after –progress ${SOURCE[@]} $TARGET
# a include GID e UID, mantiene la data e copia i link simbolici
# r backup ricorsivo
# v backup verboso
# u ignora i file che sono più recenti nella destinazione
# –delete cancella quei file nel dispositivo di destinazione che non sono piu' presenti nello storage d'origine
# –delete-after
#z comprime i dati`
In tal modo i file vengono copiati su una chiavetta USB, poi a ogni istanza
quelli nuovi o modificati vengono automaticamente sovrascritti
m