Zum Inhalt springen

[Hilfe] Probleme bei ShellSskript für Backup


Empfohlene Beiträge

Geschrieben (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 von noxy88

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...