SyncScript
Aus alt.comp.hsr
USER und PASS anpassen und weiter unten zu synchronisierende Ordner ergänzen.
#!/bin/bash USER="<username>" PASS="<password>" MOUNTDIR="/tmp/hsr-skripte" DESTDIR="/mnt/data/Data/HSR/skripte" SHARE="//152.96.90.26/skripte" LOG="tee -a" # This command shows and logs an output at the same time LOGFILE=$DESTDIR/sync.log SYNC_COMMAND="rsync -ah --delete --out-format=%b_%n%L" ### Sync function ### function sync() { echo "$SYNC_COMMAND $MOUNTDIR/$2 $DESTDIR/$1" $SYNC_COMMAND $MOUNTDIR/$2 $DESTDIR/$1 2>&1 | grep "^[1-9]" | $LOG $LOGFILE echo "Synced $2 to $1."; echo; echo } ### Create necessary folders ### mkdir $MOUNTDIR mkdir $DESTDIR ### Mount folders ### sudo mount -t cifs $SHARE $MOUNTDIR -o user=$USER,password=$PASS,iocharset=utf8 ### Start sync ### echo >> $LOGFILE echo "--------------------------------------------------------------------------------" | $LOG $LOGFILE echo "Sync: $(date)" | $LOG $LOGFILE echo "MOUNTDIR: $MOUNTDIR" | $LOG $LOGFILE echo "DESTDIR: $DESTDIR" | $LOG $LOGFILE echo "--------------------------------------------------------------------------------" | $LOG $LOGFILE echo | $LOG $LOGFILE ### Sync ### # Semester 3 sync "PnProg" "Informatik/Fachbereich/Parallel-_und_Netzwerkprogrammierung/PnProg/" sync "UInt1" "Informatik/Fachbereich/User_Interfaces_1/UInt1/" sync "SE1" "Informatik/Fachbereich/Software-Engineering_1/SE1/" sync "CompT1" "Elektrotechnik/Fachbereich/Computertechnik_1/CompT1/" sync "Math1I" "Mathematik_Naturwissenschaften/Mathematische_Grundlagen_der_Informatik_1/Math1I/" sync "English1" "Kommunikation_Wirtschaft_Recht/English_Level_1/English1/" sync "Jap1" "Kommunikation_Wirtschaft_Recht/Japanisch_1/Jap1/" ### Unmount ### sudo umount $MOUNTDIR