Hallo, ich habe mir neulich ein kleines Skript gebastelt, mit dem ich jetzt mittels Rsync http://wiki.ubuntuusers.de/rsync auch mein GMX-Mediacenter (WebDav) mit einem Verzeichnis lokal synchronisiere.
Hier das Skript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/bin/bash # 3 Minuten warten # sleep 180s # Verzeichnis anlegen mkdir /media/syncro_gmx-mediacenter # WEB-DAV in /media/syncro_gmx-mediacenter mounten mount.davfs https://mediacenter.gmx.net /media/syncro_gmx-mediacenter # Syncronisation von /media/syncro_gmx-mediacenter mit /home/pascal/Eigene_Dateien/Pascal/Band/WebDAV rsync -av --progress --delete -i --log-file=/home/pascal/Eigene_Dateien/Pascal/Band/Retrocks/rsync.log /media/syncro_gmx-mediacenter /home/pascal/Eigene_Dateien/Pascal/Band/WebDAV # Unmounten umount.davfs /media/syncro_gmx-mediacenter # Verzeichnis löschen rmdir /media/syncro_gmx-mediacenter # Meldung nach Synchronisation # umount.davfs: # finde keinen mount.davfs-Prozess mit PID 8339; # versuche trotzdem das Dateisystem auszuhängen; # /var/run/mount.davfs/media-syncro_gmx-mediacenter.pid muss wahrscheinlich von Hand gelöscht werden # Prozess vorsichtshalber löschen rm /var/run/mount.davfs/media-syncro_gmx-mediacenter.pid # Checkbox anzeigen, dass Syncro fertig ist zenity --info --text "Die Synchronisation mit dem GMX-Mediacenter wurde gerade beendet!" # Bash schließen exit |
Ich habe mir gedacht, dieses Skript als Cron-Job beim Reboot (als Root) auszuführen. Deswegen habe ich die 180 sekunden Sleep hinzugehängt, damit sich das WLAN beim Benutzeranmeldung aktivieren kann.
Folgendes Problem:
Erfolgt die Anmeldung im System nicht innerhalb dieser 180 Sekunden, dann schlägt der Mount-Web-DAV-Prozess fehl, das Verzeichnis /media/syncro_gmx-mediacenter ist somit leer und die Synchronisation erfolgt mit einem leeren Ordner. Das heißt mein Zielverzeichnis [/home/pascal/Eigene_Dateien/Pascal/Band/WebDAV] wird gelöscht....
Frage:
1.) Kann man da ne Anfrage einbauen, dass er die Synchronisation nur durchführt, wenn der Mount-Prozess erfolgreich war bzw. das Verzeichnis /media/syncro_gmx-mediacenter nicht leer ist?
2.) Was müsste im Skript ergänzt werden?
3.) Wenn das Verzeichnis /media/syncro_gmx-mediacenter leer ist, dann sollte der Synchronisationsprozess abgebrochen werden.
Vielleicht kann mir einer von Euch kurz unter die Arme greifen....
Vielen Dank im voraus. ☺
Grüße Pascal