noxy88 Geschrieben 26. September 2008 Geschrieben 26. September 2008 (bearbeitet) hallo, ich bin gerade dabei nenn kleines shell skript zu basteln... ich habe nicht viel ahnung von shell skripting aber durch das tolle learn by doing erfahren hab ich gestern doch nenn kleines skript zustande bekommen Hier erstmal der Code zur Shell.. anschließend die fragen Das Skript wird wiefolgt aufgerufen backup_name.sh part/full/help jenachdem, welcher parameter bzw. argument hinten dran steht ruft er halt die entsprechende funktion auf.. wenn nichts angegeben wird, kommt die hilfe datei #!/bin/bash ### Einstellungen ## #Ausgabe des Datums Jahr-Monat-Tag DATUM="$(date +%Y-%m-%d-)" #Ausgabe der Kalenderwoche KW="$(date +%W-)" #Ausgabe des gekürzten Wochentages TAG="$(date +%a-)" # Zeitformat einstellen ZEIT="$(date +%H:%M)" # Pfad zum Backupverzeichnis # !!!Kein / am Anfang des Pfades!!! DESTINATION="mnt/LSPRO/backup/" # Verzeichnis(se) welche(s) gesichert werden soll(en) # !!Kein / am anfang des Pfades angeben!! SOURCE="home" part_backup() { #Konfiguration für das full Backup # Ersetzt die Variable ${PART} PART="part-" BACKUPDIR="${DESTINATION}${DATUM}KW${KW}${TAG}${PART}${ZEIT}" ### Wechsel in root damit die Pfade stimmen ## cd / # Ausführen des Kopierbefehls # -r = rekursiv # -u = Überprüfung ob quelldateien neuer sind als dateien im Zielverzeichnis cp ${SOURCE} ${BACKUPDIR} -ru } full_backup() { #Konfiguration für das full Backup # Ersetzt die Variable ${PART} PART="full-" BACKUPDIR="${DESTINATION}${DATUM}KW${KW}${TAG}${PART}${ZEIT}" ### Wechsel in root damit die Pfade stimmen ## cd / # Ausführen des Kopierbefehls # -r = rekursiv cp ${SOURCE} ${BACKUPDIR} -r } help_file() { ### Hilfe ## echo "full führt ein komplettes Backup durch" echo "part Überprüft Quelldateien und Backupdateien und kopiert nur neue Quelldateien" } #Argument+Funktionszusammenschluss für Befehlszeile case "$1" in full) full_backup ;; part) part_backup ;; *) help_file ;; esac Nun zu meinem Problem... Wenn ich "backup.sh part" aufrufe macht er jedes mal ein full backup, obwohl er durch den parameter -u eigentlich die bisher gebackuppten dateien überprüfen sollte und danach nur neuere quelldateien kopieren sollte... dies macht er aber aufs verrecken nicht meine Vermutung Wenn er ein Backup anlegt ist der name des Hauptordners 2008-09-25-KW39-Mon-16:36-part <-- bei teilbackup 2008-09-25-KW39-Mon-16:36-full <-- bei fullbackup Wobei die zeit jetzt nur testweise angehangen wurde um nicht immer das datum umzustellen... Wenn ich jetzt also einmal "backup.sh full" aufrufe und danach eine Datei anlege und "backup.sh part" aufrufe sollte er theo. das Ziel mit der Quelle überprüfen ob es die datei gibt, wenn ja, ob sie neuer ist oder nicht... leider macht er das nicht. Ich denke er greift nicht auf die unterordner zu... aber ich weiss nicht warum... Habt ihr vielleicht einen Rat für mich?? bedanke mich schonmal im vorraus. Gruss und schönen Freitag Marcus Bearbeitet 26. September 2008 von noxy88 Zitieren
bigvic Geschrieben 26. September 2008 Geschrieben 26. September 2008 Hi, funktioniert es denn wie du willst, wenn du es manuell (also nicht via Shellscript) aufrufst? ciao, vic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.