Dann kannst du auch gleich die letzte tar-Datei nehmen, dann kannst du dir die backup.log sogar ganz sparen; Problem gelöst?
Dann kannst du auch gleich die letzte tar-Datei nehmen, dann kannst du dir die backup.log sogar ganz sparen; Problem gelöst?
mit dem tar --newer meinst du?
os.system('tar --newer=/etc/dp/datei.tar')
os.system('tar -cvf verzeichnis') oder wir schreiben wenn ich in meiner Wohnung bin in 20 Minuten Weiter wenn du willst ^^
Ein Aufruf:
Code:os.system('tar --newer=/etc/dp/datei.tar -cvf /etc/dp/neuetar.tar verzeichnis')
ah okay und wofür steht dort hinten verzeichnis?
Das ist das Verzeichnis, in dem die zu sichernden Daten liegen.
also quasi home partition ^^
ok cool danke =)
so John habs ausprobiert mit einer schon existierenden Datei
raus kommt folgendes:
python dp_client.py
Sicherung wird gestartet und unter /etc/dp/ gespeichert
Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen
tar: /etc/dp/Backup20100927-140837_0.tar: Kann stat nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: Datumsdatei nicht gefunden
„tar --help“ oder „tar --usage“ gibt weitere Informationen.
eingefügter code :
wollt einfach nur zum Testen eingeben muss danach eh lastbackup reinstellen und neue Tar wird dann anders gemacht mit ziel+zähler oder so.Code:os.system('tar --newer=/etc/dp/Backup20100927-140837_0.tar -cvf /etc/dp/Backup20100927-140837_1.tar /home/davidlinux/')
ich frag mich wo mein Fehler liegt x.x.
lg
bluecrystal21
Die alte Tar-Datei existiert nicht, du hast die Uhrzeit in den Namen genommen, die ist aber immer anders - du musst die Uhrzeit vor dem erstellen des tar-Archivs abfragen, speichern, den gespeicherten Wert für den Dateinamen verwenden und für den nächsten Durchlauf beibehalten; dass sähe dann z.B. so aus:
Code:# alte Zeit und altesDatum muss bereits bekannt sein, erstmalig werden sie beim Vollbackup gesetzt # Zeit und Datum für neues Archiv abfragen: neuesDatum=time.strftime('%Y%m%d') neueZeit=time.strftime('%H%M%S') # Archiv erstellen, dabei nur Dateien berücksichtigen, die nach dem letzten Backup geändert/erstellt wurden: os.system('tar --newer=/etc/dp/Backup%s-%s_%s.tar -cvf /etc/dp/Backup%s-%s_%s.tar /home/davidlinux/' % (altesDatum, alteZeit, zaehler, neuesDatum, neueZeit, zaehler+1)) # jetzt erst den Zähler erhöhen: zaehler+=1 # Für den nächsten Durchlauf das aktuelle Backup als letztes Backup festlegen: altesDatum=neuesDatum alteZeit=neueZeit
na guten Morgen auch schon ausgeschlafen? =)
python dp_client.py
Sicherung wird gestartet und unter /etc/dp/ gespeichert
Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen
Traceback (most recent call last):
File "dp_client.py", line 46, in <module>
os.system('tar --newer=/etc/dp/Backup%s-%s_%s.tar -cvf /etc/dp/Backup%s-%s_%s.tar /home/davidlinux/' % (altesDatum, alteZeit, zaehler, neuesDatum, neueZeit, zaehler+1))
NameError: name 'altesDatum' is not defined
ausgabe ^^
ach jetz hab ichs gesehn ich muss ja erst das alte abfragen bevor der das neue machen kann oder lieg ich da falsch?
ich muss es gleich so bauen das das Datum aus der Datei geholt wird, derzeit ists so mom:
wenn ich nen Datum hinter dem boottime=7D 24.04.2010 hab vergleicht er es mit dem heutigen und dann muss er von heut bis zum 24.04.2010 sichern also muss ich eig das Datum aus ner Datei holen bzw vom letzten Backup was z.b. am 24.04.2010 statt fandCode:#!/usr/bin/env python import time import os from time import * lt = localtime() datei = open ("test.ini","r") Zeile = datei.readlines() Zeit=Zeile[1].strip().split(" ")[1] datei.close() if not Zeit == lt : print 'Sicherung wird gestartet' execfile('/mnt/Freigaben/00-16-17-15-56-61/dp_client.py') else: print 'Fehler'
Hab ja gesagt: Muss schon bekannt sein; hier ein kleiner Hack, bei dem die Datei nicht bekannt sein muss:
Code:datei_liste=os.listdir('/%s' % ziel_verzeichnis) i=0 while i < len(datei_liste): if datei_liste[i].endswith('.tar'): i+=1 else: datei_liste.pop(i) if len(datei_liste): datei_liste.sort() os.system('tar --newer=/%s/%s -cvf /%s/Backup%s-%s_%s.tar /home/davidlinux/' % (ziel_verzeichnis, datei_liste[-1], ziel_verzeichnis, time.strftime('%Y%m%d'), time.strftime('%H%M%S'), zaehler) zaehler+=1 else: print "Fehler: Kein vorheriges Backup!"
Geändert von John W (28-09-2010 um 09:20 Uhr) Grund: Kleine Sicherung eingebaut, damit das letzte Archiv wirklich ein tar-Archiv sein muss (zumindest dem Namen nach)
dh. quasi ich muss zuerst Datei sortieren und dann sagen du bist letzte ab da sichern? & wenn ich lastbackup die Datei reinknall dh. lastbackup= backupsblalba.tar?
Lesezeichen