Siehe subject. Ich versuche eigentlich nur ein tägliches inkrementelles Backup hinzubekommen. Ich verstehe nicht, warum folgendes nicht funktioniert: tar cvT /tmp/files.daily -f /Backup/$date.tar Es werden bei dieser Option immer die kompletten Unterverzeichnisse gleich mitgesichert - eben nicht nur die Files, die sollen. Außerdem scheint das "-X dont-backup-das-hier" in obiger Zeile eingefügt auch nicht zu wirken. (Weder mit, noch ohne Backticks.) Da sollten (untereinander geschrieben) die dirs stehen, die nicht gesichert werden sollen. So wie /proc, /tmp etc. Die Doku ist schlicht Mist. Ein update auf das aktuelle tar habe ich heute gemacht - ohne Erfolg. Kann mir bitte jemand einfach nur sagen, wie es denn nun zu heißen hat, wenn man ein inkrementelles Backup machen möchte? (!?) PS afio oder cpio wollte ich nicht nutzen. tia -- With best wishes, GR Can't forget you, Muck. "There is hopeful symbolism in the fact that flags do not wave in a vacuum." -- Arthur C. Clarke --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Sam, Mär 11, 2000 at 04:09:58 +0000, Goran Ristic wrote:
Ich versuche eigentlich nur ein tägliches inkrementelles Backup hinzubekommen. Ich verstehe nicht, warum folgendes nicht funktioniert:
tar cvT /tmp/files.daily -f /Backup/$date.tar
Es werden bei dieser Option immer die kompletten Unterverzeichnisse gleich mitgesichert - eben nicht nur die Files, die sollen.
Du veränderst mit dieser Option nicht die Arbeitsweise des tar, Du gibst nur die Dateinamen in der Datei statt in der Kommandozeile an. tar sichert _immer_ rekursiv. Wenn Du also /x/y in der Datei stehen hast und dies ein Verzeichnis ist, dann wird rekursiv ab /x/y alles gesichert. Wenn Du willst, dass explizit nur die Dateien gesichert werden sollen die Du angibst, dann stelle _jeden_ zu sichernden Pfad in die Datei (z. B. mit find erzeugt). Wenn in files.daily drin steht /x/y/datei1 /x/y/datei2 dann werden nur diese beiden Dateien gesichert, so ist es wenigstens bei mir (habe ich gerade noch mal ausprobiert).
Außerdem scheint das "-X dont-backup-das-hier" in obiger Zeile eingefügt auch nicht zu wirken. (Weder mit, noch ohne Backticks.) Da sollten (untereinander geschrieben) die dirs stehen, die nicht gesichert werden sollen. So wie /proc, /tmp etc.
Nicht die Verzeichnisse sondern die Dateien. Also wie oben _jede nicht_ zu sichernde Datei reinschreiben. Offensichtlich vergleicht tar die gefundenen Pfade mit dem kompletten Eintrag in der Datei. dont-backup-das-hier ist bei der Name der Datei, in der diese Pfadnamen stehen. Wenn Du also Dein komplettes System sichern willst ohne die o. g. Verzeichnisse, dann bleiben Dir für ein inkrementelles Backup verschiedene Wege: - Aufbereitung der zu sichernden / auszuschließenden Dateien mit find (siehe Optionen -newer oder -mtime) - Kannst Du evtl. mit der tar-Option -u (Update) etwas anfangen?
Die Doku ist schlicht Mist.
info sucks ;-) tar --help ist kürzer und aussagefähiger.
Ein update auf das aktuelle tar habe ich heute gemacht - ohne Erfolg.
Ist imho nicht nötig, ich habe hier 1.11.8 auf einem 2.0.35-Kernel laufen, die erwähnten Optionen habe ich vorhin getestet: lief.
Kann mir bitte jemand einfach nur sagen, wie es denn nun zu heißen hat, wenn man ein inkrementelles Backup machen möchte? (!?)
Wenn ich mit meinen Kommentaren daneben gelegen habe, dann melde Dich nochmal und beschreibe genauer, was Du sichern willst.
PS afio oder cpio wollte ich nicht nutzen.
Persönlicher Geschmack oder hast Du andere Gründe? (Nur so aus Interesse, ich will es Dir nicht aufzwingen). Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Goran Ristic wrote:
Ich verstehe nicht, warum folgendes nicht funktioniert:
tar cvT /tmp/files.daily -f /Backup/$date.tar
weil Du die Backtiks und cat vergeessen hast: `cat ..`: tar cvT `cat /tmp/files.daily` -f /Backup/$date.tar (das ist ungetestet) getestet: tar -cvf /Backup/test `cat /tmp/files.daily` Unter der Annahme, dass Du in einem Schritt vorher in der Datei files.daily bereits die zu sichernden Dateien einzeln aufgeführt hast, z.B. /home/goran/text.doc /usr/bin/my_copy /var/spool/mail/goran Wenn die Einträge in files.daily allerdings Verzeichnisse sind, dann werden die Verzeichnisse und rekursiv alle Subverzeichnisse gesichert. find gibt normalerweise auch die Verzeichnisse aus ! warum nicht in einem Schritt? ============================== tar -c tar -cvf /tmp/testbackup `find /home/ -daystart -cmin -1440 -type f` -type f wichtig (=reguläre Dateien), sonst werden auf Verzeichnisse gefunden, und schon wird das Verzeichnis samt Unterverzeichnisse von tar mitgesichert -cmin -1440 : die letzten 24 (1440 Minuten) Stunden, aber vom -daystart erst angefangen zu zählen GehtŽs noch einfacher ? Werden mit type f wichtige zu sichernde Dateien ausgeschlossen ? Gruss Ekkard --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Son, Mär 12, 2000 at 12:30:18 +0100, Ekkard Gerlach wrote:
Goran Ristic wrote:
Ich verstehe nicht, warum folgendes nicht funktioniert:
tar cvT /tmp/files.daily -f /Backup/$date.tar
weil Du die Backtiks und cat vergeessen hast: `cat ..`:
tar cvT `cat /tmp/files.daily` -f /Backup/$date.tar (das ist ungetestet) getestet: tar -cvf /Backup/test `cat /tmp/files.daily`
Das Kommando von Goran ist völlig korrekt. Die Option T dient genau dazu, den cat zu verhindern. Das hat IMHO einen Hauptgrund: Mit dem cat übergibst Du die Dateinamen der Kommandozeile als Parameter. Nun ist die Länge des Argumentpuffers aber begrenzt und liefert schon mal ein *argument list too long*. Damit das nicht geschieht kannst Du mit der T-Option einen Dateinamen angeben, aus dem tar die zu sichernden Dateien liest.
warum nicht in einem Schritt? ==============================
tar -c tar -cvf /tmp/testbackup `find /home/ -daystart -cmin -1440 -type ^^^^^^^?
f`
-type f wichtig (=reguläre Dateien), sonst werden auf Verzeichnisse gefunden, und schon wird das Verzeichnis samt Unterverzeichnisse von tar mitgesichert -cmin -1440 : die letzten 24 (1440 Minuten) Stunden, aber vom -daystart erst angefangen zu zählen
GehtŽs noch einfacher ? Werden mit type f wichtige zu sichernde Dateien ausgeschlossen ?
Ja, wenn sich symbolische Links, Devices oder leere Verzeichnisse unter den zu sichernden Daten befinden. Ich würde dann doch die Methode über eine separate Datei bevorzugen, da man dann Gelegenheit hat die Dateiliste sauber aufzubereiten. Dann schreibt man eben eine Zeile mehr - na und? Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Moin Jan! Jan Trippler schrieb am Sonntag, den 12. März 2000: [..]
mal ein *argument list too long*. Damit das nicht geschieht kannst Du mit der T-Option einen Dateinamen angeben, aus dem tar die zu sichernden Dateien liest. ...trotzdem funktioniert es nicht im Zusammenspiel mit -X. :(
Im Moment filtere ich durch eine Hand voll sed's, um nur das zu sichern, was soll. - Dabei dachte ich, -X macht genau das. (?) (Anbei bemerkt ist meine Lösung schlicht Müll, weil zu umständlich und ich keine Ahnung.)
GehtŽs noch einfacher ? Werden mit type f wichtige zu sichernde Dateien ausgeschlossen ? jain. ;)
Es sollen ja *alle* neuen Dateien im System in einem Rutsch gesichert werden. - Außer die von /proc, /tmp.
Ich würde dann doch die Methode über eine separate Datei bevorzugen, da man dann Gelegenheit hat die Dateiliste sauber aufzubereiten. ...z.B.?
Dann schreibt man eben eine Zeile mehr - na und? Macht ja nix, weil von cron aufgerufen. - Nur funktionieren sollte es schon.
-- With best wishes, GR Can't forget you, Muck. In 1915 pancake make-up was invented but most people still preferred syrup. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Mon, Mär 13, 2000 at 02:04:21 +0000, Goran Ristic wrote:
Jan Trippler schrieb am Sonntag, den 12. März 2000: [..]
mal ein *argument list too long*. Damit das nicht geschieht kannst Du mit der T-Option einen Dateinamen angeben, aus dem tar die zu sichernden Dateien liest. ..trotzdem funktioniert es nicht im Zusammenspiel mit -X. :(
Im Moment filtere ich durch eine Hand voll sed's, um nur das zu sichern, was soll. - Dabei dachte ich, -X macht genau das. (?) (Anbei bemerkt ist meine Lösung schlicht Müll, weil zu umständlich und ich keine Ahnung.)
Dann versuch mal folgendes: 1. Du baust mit find die Include-Datei (für die T-Option) auf: Ärger macht da vor allem das /proc-Dateisystem. Dem kann man auf verschiedene Weise begegnen: - Mehrere find's (je Dateisystem einer): # Datei für T-Option leer machen
/tmp/tar_files # Ersetzen durch eigene vorhandene Dateisysteme ausser /proc for fs in / /usr /var /home; do # alles, was nicht Verzeichnis ist und vor weniger als 1 Tag # geändert wurde holen; alternativ statt -mtime: -mmin find $fs -mtime -1 -mount -not -type d -print >>/tmp/tar_files # zur Sicherheit leere Verzeichnisse holen (könnten sonst # fehlen) find $fs -mtime -1 -mount -type d -empty -print >>/tmp/tar_files done
- find nach Dateisystem-Typ einschränken find / -mtime -1 -fstype ext2 -not -type d -print >/tmp/tar_files find / -mtime -1 -fstype ext2 -type d -empty -print >>/tmp/tar_files 2. In die Exclude-Datei schreibst Du alles, was in /tmp rumschwirrt: find /tmp -not -type d -print >/tmp/not_tar_files find /tmp -type d -empty -print >>/tmp/not_tar_files 3. Jetzt sollte Dein tar-Aufruf funktionieren: tar cf /tmp/system.tar -T /tmp/tar_files -X /tmp/not_tar_files Das ist jetzt nicht 100% getestet, die finds sollten aber laufen. Probiere es am besten erstmal mit Deinem /home aus, dann kannst Du die Ergebnisse noch überblicken. Ich schlage deshalb immer zwei getrennte find's vor, damit im ersten Zug alle Dateien, Links, Devices usw. erfasst werden ohne die Verzeichnisse in die Datei zu schreiben. Die leeren Verzeichnisse im zweiten Durchgang sollte man mitsichern, da etliche Programme auf dem Vorhandensein einer entspr. Verzeichnis-Struktur aufbauen. hth Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Jan Trippler schrieb in 2,4K (65 Zeilen):
On Mon, Mär 13, 2000 at 02:04:21 +0000, Goran Ristic wrote: find $fs -mtime -1 -mount -not -type d -print >>/tmp/tar_files ^^^^^^ Bitte bitte immer -print0 benutzen. \0 ist das einzige Sonderzeichen, dass *nicht* in einem Dateinamen stehen kann!
-Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (4)
-
egerlach@nikocity.de
-
g.ristic@berlin.de
-
Jan.Trippler@t-online.de
-
weissel@netcologne.de