SyncScript

Aus alt.comp.hsr
Wechseln zu: Navigation, Suche

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