15.) MP3-Partition Sync Skript
Eventuell nutzt das hier jemanden was oder kann das anpassen:
https://www.nslu2-info.de/showpost.p...2&postcount=65
Code:#!/bin/bash ################################ ### MP3-Partition sync Skript ################################ ################################ ### Konfiguration ################################ ### Welcher PC soll gesichert werden? SERVER=htpc ### Welche Mountpoints? MOUNTLOCAL=/mnt/smb_temp MOUNTREMOTE=//htpc/MP3 ### Zielverzeichnis DATA_PATH="/home/samba/MP3s" ### Quellverzeichnisse ANZAHL=2 REMOTEDIR[1]="/MP3 - Songs" REMOTEDIR[2]="/MP3 - AudioBooks" #REMOTEDIR[3]="/Fotos" ### Sollen wir prüfen, ob noch ein gewisser Prozentsatz ### an Plattenplatz und Inodes frei ist? CHECK_HDMINFREE=true HDMINFREE=85 ### Weitere Optionen für rsync ### EXTRAOPT="--bwlimit=256" #EXTRAOPT="--progress" EXTRAOPT="" if [ $# != 0 ] ; then until [ -z "$1" ] do EXTRAOPT=$EXTRAOPT" "$1 shift done fi ################################# ### Los geht's ################################# ### Läuft der PC? ### Wenn nicht, abbrechen! ping -c 1 -q $SERVER > /dev/null if [ $? != 0 ] ; then echo "Info: $SERVER offline, rsync not started ($0)" logger "Info: $SERVER offline, rsync not started ($0)" exit 1 fi ### Ist der Mountpoint belegt? ### Wenn ja, abrechen! mount | grep -q $MOUNTLOCAL if [ $? = 0 ] ; then echo "Fatal: $MOUNTLOCAL occupied, rsync not started ($0)" logger "Fatal: $MOUNTLOCAL occupied, rsync not started ($0)" exit 1 fi ### Verzeichnis mounten mount -t cifs -o ro,username=bla,password=fasel $MOUNTREMOTE $MOUNTLOCAL 2>/dev/null if [ $? != 0 ] ; then echo "Fatal: Could not mount $MOUNTREMOTE, rsync not started ($0)" logger "Fatal: Could not mount $MOUNTREMOTE, rsync not started" exit 1 fi ### Prüfe auf freien Plattenplatz GETPERCENTAGE='s/.* \([0-9]\{1,3\}\)%.*/\1/' if $CHECK_HDMINFREE ; then KBISFREE=`df /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE"` INODEISFREE=`df -i /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE"` if [ $KBISFREE -ge $HDMINFREE -o $INODEISFREE -ge $HDMINFREE ] ; then echo "Fatal: Not enough space left for rsync! ($0)" logger "Fatal: Not enough space left for rsync! ($0)" sync sleep 4 umount $MOUNTLOCAL exit 1 fi fi ### Jetzt wird gesynct! COUNTER=1 while [ $COUNTER -le $ANZAHL ] do echo "Info: Starting rsync backup from $MOUNTREMOTE${REMOTEDIR[$COUNTER]} ... ($0)" logger "Info: Starting rsync backup from $MOUNTREMOTE${REMOTEDIR[$COUNTER]} ... ($0)" rsync -av --numeric-ids --delete -e rsh $EXTRAOPT "$MOUNTLOCAL${REMOTEDIR[$COUNTER]}" $DATA_PATH if [ $? != 0 ] ; then echo "Fatal: Could not finish rsync! ($0)" logger "Fatal: Could not finish rsync! ($0)" cd / sync sleep 4 umount $MOUNTLOCAL exit 1 fi echo "Info: Finished rsync backup from $MOUNTREMOTE${REMOTEDIR[$COUNTER]} ... ($0)" logger "Info: Finished rsync backup from $MOUNTREMOTE${REMOTEDIR[$COUNTER]} ... ($0)" COUNTER=$[$COUNTER+1] done ### sauber beenden cd / sync sleep 4 umount $MOUNTLOCAL




Reply With Quote
