milbman Geschrieben 3. Februar 2007 Geschrieben 3. Februar 2007 Hallo, ich möchte ganz gerne tar eine exclude list für bestimmte Verzeichnisse übergeben. Dazu definiere ich in einem Array einfach die Verzeichnisse, die ich nicht "taren" möchte und gebe dieses Array als exclude list an. (theoretisch). Nur die Praxis sieht etwas mager aus, ich schaffe es nur mit einem tar-befehl auch nur ein einzelnes Verzeichnis auszuschließen oder über eine externe datei die Verzeichnisse einzulesen. Die externe Datei ist aber unerwünscht... Der erste Gedanken wird natürlich eine While Schleife sein, die den tar-Befehl immer nur ein Verzeichnis übergibt. Dies ist aber in diesem Fall nicht möglich. Eine Möglichkeit besteht noch darin, das tool find mit einzubeziehen, dies möchte ich aber nur, wenn es definitiv keine Möglichkeit gibt, ein Array mit Verzeichnissen als Exclude List an tar zu übergeben. kann da jemand helfen? Zitieren
Schlaubi Geschrieben 4. Februar 2007 Geschrieben 4. Februar 2007 Hallo, poste doch mal bitte Deinen bisherigen Versuch, dann können wir Dir sicherlich weiterhelfen - oder es zumindest versuchen Poste bitte auch Deine tar Version. Vermutlich musst Du Deinen Tar-Befehl inetwa so aufbauen: tar ... \ --exclude=PATTERN \ --exclude=PATTERN \ --exclude=PATTERN \ --exclude=PATTERN Zitieren
milbman Geschrieben 4. Februar 2007 Autor Geschrieben 4. Februar 2007 Hier mein Quellcode (gekürzt) Möchte gerne das Array EXCLUDE an tar als exclude list übergeben #------------------------------------ BACKUPSOURCE[i++]="bin" #---------------- BACKUPSOURCE[i++]="root" #---------------- BACKUPSOURCE[i++]="etc" #---------------- ... #---------------- EXCLUDE[i++]="/root/ablage" #---------------- EXCLUDE[i++]="/root/trash" #---------------- EXCLUDE[i++]="/etc/nichtwichtig" #---------------- ... while [ $i -lt ${#BACKUPSOURCE[*]} ]; do # daten archivieren if [ -d $BACKUPROOT${BACKUPSOURCE[$i]} ]; then case "$ARCHIVFORMAT" in gzip) #gzip komprimiertes tar erstellen tar -czf $ARCHIVORDNER${BACKUPSOURCE[$i]}.tar.gz $BACKUPROOT${BACKUPSOURCE[$i]} ;; bzip2) #bzip2 komprimiertes tar erstellen tar -cjf $ARCHIVORDNER${BACKUPSOURCE[$i]}.tar.bz2 $BACKUPROOT${BACKUPSOURCE[$i]} ;; *) echo "Kein gueltiges Archivformat festgelegt...ABORT!" exit 1 ;; esac fi i=i+1 done Meine tar-Version: tar (GNU tar) 1.14 Zitieren
rafter77 Geschrieben 4. Februar 2007 Geschrieben 4. Februar 2007 Du hast zwar nicht genau geschreiben, was für einen zweck das skript haben soll, aber ich denke du willst damit backups machen. Es gibt da ein fertiges skript. Das kannst du dann auf deine bedürfnisse anpassen. Newbie-Net Datenbackup per Shellscript MFG 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.