Re: intero capitolo cancellato

#96288
Up
0
Down
::


Sì, anche io uso rsync – e vedo che il mio script è abbastanza simile al tuo.

Posto anche il mio per completezza (con la solita premessa che non è colpa mia se vi distrugge il computer, vi ammazza il gatto, etc); @samiel, ho sfruttato alcuni dei commenti del tuo script per uniformarli 🙂

`
#!/bin/sh
SHELL=/bin/sh
USER=$(whoami)
HOME=/home/$USER

export DISPLAY=”:0.0″ # per notify-send

# Format: DAY MONTH YEAR HOUR MINUTE SECOND
DATE=$(date +%d-%m-%Y-%H_%M_%S) # oggi
BACKUPNAME=”tesi_backup-$DATE.tar.bz2″ # nome che avrà il file di backup
THESISSOURCE=”$HOME/Dropbox/Tesi/LaTeX” # cartella dove sono presenti i file di cui eseguire il backup
TARGET=”$HOME/backuptesi/work_directory” # cartella dove andrà il backup

if [ ! -d “$TARGET” ]; then
# se la cartella TARGET non esiste, creiamola
mkdir “$TARGET”
fi

# rsync
# 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 destinazion
rsync -avur –exclude “*.blg” –exclude “*.run.xml” –exclude “*.bbl” –exclude “*-blx.bib” –exclude “*.aux” –exclude “*.log” –exclude “*.toc” –exclude “*.lof” –exclude “*.lot” –exclude “*.out” –exclude “*.synctex.gz” $THESISSOURCE $TARGET

cd $TARGET

# crea un archivio compresso con i file della tesi; cambiare LaTeX con il nome della vostra cartella
tar -cjvf $BACKUPNAME LaTeX

notify-send “Backup tesi eseguito” “Creato $BACKUPNAME” -t 5000 -a tesibackup 2> /tmp/notify-send-error

mv *.tar.bz2 ..

cd ..

file1=$(ls *.tar.bz2 -1 -t | sed -n 1p)
file2=$(ls *.tar.bz2 -1 -t | sed -n 2p)

# Il backup più recente è uguale al precedente?

if [ -f $file1 -a -f $file2 ]
then
if [ “$(md5sum $file1 | cut -d ' ' -f 1)” = “$(md5sum $file2 | cut -d ' ' -f 1)” ]
then
rm $file1 # cancelliamo il file ridondante
touch $file1.txt # per avere un segnalibro
notify-send “$BACKUPNAME rimosso” “Il file non è cambiato dall'ultima esecuzione dello script.” -a Backuptesi -t 5000 -a tesibackup 2> /tmp/notify-send-error
else
exit
fi

else
exit
fi
`

Go to top