Anzeige:
Seite 10 von 13 ErsteErste ... 89101112 ... LetzteLetzte
Ergebnis 136 bis 150 von 181

Thema: Datensicherung Ala Python muha ^^

  1. #136
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    ich hab jetz deins kopiert und dann is er runtergefahren lol ^^
    naja ich habs jetz noch geändert und...

    Sicherung wird gestartet und unter /etc/dp// gespeichert
    Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen
    Traceback (most recent call last):
    File "dp_clienttester.py", line 52, in <module>
    os.system('rsync -aoAEHX %s %s/%s/' % (' '.join(quellen), ziel_verzeichnis, strftime('%Y%m%d')))
    NameError: name 'strftime' is not defined

  2. #137
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    Code:
        zaehler = 1
        lastBackup = time.strftime('%Y%m%d')
    
      #Die Dateien und Verzeichnisse, die gesichert werden sollen,
        quellen = ['/home/davidlinux/',]
        ziel_verzeichnis = '/etc/dp/'
        heute = ziel_verzeichnis + time.strftime('%Y%m%d')
        jetzt = time.strftime('%H%M%S')
        print 'Sicherung wird gestartet und unter /etc/dp/ gespeichert'
        print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen'
    # Der Name der Tar-Datei:
        ziel = heute + os.sep + jetzt + '.tar'
    #inkrementelles Backup
    #    zaehler+=1
    #    os.system('find /home/davidlinux -newer /home/davidlinux/ -exec cp -d --parents {} /etc/dp/backup.log \+')
    #    os.system('cp /etc/dp/backup.log /etc/dp/backup.log1 ; tar -c -f /etc/dp/Backup%s_%s.tar'
    #    '-g /etc/dp/backup.log "%s"' % (time.strftime('%Y%m%d-%H%M%S'), zaehler, ' '.join(quellen)))
      os.system('rsync -aoAEHX %s --link-dest=%s/%s/ %s/%s/'%(' '.join(quellen), ziel_verzeichnis,lastBackup,ziel_verzeichnis, strftime('%Y%m%d')))
    da der eine teil von meinen eigenen skript noch ^^ hab die anderen auskommentiert und dein os rein und da zeigts den fehler

  3. #138
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Hab den Fehler auch grad erst entdeckt, es muss time.strftime heißen, hab das im vorigen Posting korrigiert.

    EDIT: Das mixen der beiden Skripte könnte zu Problemen führen, halt die nach Möglichkeit erstmal getrennt.

  4. #139
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    gut also bei deinem bin ich in endlosschleife und komm auch mit strg und c nicht raus

  5. #140
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    das shutdown muss man aber in die if bauen sonst macht es sofort herunterfahren ^^

  6. #141
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Python ist zu flott, hab hier mal eine kleine Pause am Ende der Schleife eingebaut, sodass Python bei der Pause beendet werden kann (vorher startete der neue rsync-Prozess zu schnell, der dann anstelle von Python beendet wurde):
    Code:
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import linecache
    import os
    import re
    import subprocess
    import sys, dbus
    import time
    
    # Die Dateien und Verzeichnisse, die gesichert werden sollen:
    quellen = ['/home/davidlinux/',]
    # Zielverzeichnis für Backups:
    ziel_verzeichnis = '/etc/dp/'
    
    lastBackup = time.strftime('%Y%m%d')
    
    def shutdown():
        bus = dbus.SystemBus()
        try:
            remote_object = bus.get_object('org.freedesktop.Hal',
                                           '/org/freedesktop/Hal/devices/computer')
            props = remote_object.Shutdown(dbus_interface='org.freedesktop.Hal.Device.SystemPowerManagement')
        except dbus.exceptions.DBusException, e:
            print e
    
    try:
        while True:
            datei = open ("dp_clienttask.ini","r")
            lines = datei.readlines()
            for line in lines:
                if line.lower().strip().startswith("boottime="):
                    auswahl=int(re.split('^boottime=([0-9]+)[^0-9]*?$', line.lower().strip())[1])
            datei.close()
        
            if auswahl == 4:
                outfile=open("dp_clienttask.ini","w+")
                for line in open("dp_clienttasktemp.ini"):
                    line=line.replace ("X","5")
                    outfile.write(line)
                    print line
                outfile.close()
            elif auswahl == 2:
                shutdown()
    
            elif auswahl == 3 or auswahl == 5:
                print 'Sicherung wird gestartet und unter %s/ gespeichert' % ziel_verzeichnis
                print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen'
                if auswahl == 5: # inkrementelles Backup durchführen
                    os.system('rsync -aoAEHX %s --link-dest=%s/%s/ %s/%s/' % (' '.join(quellen), ziel_verzeichnis, lastBackup, ziel_verzeichnis, time.strftime('%Y%m%d')))
                else: # Vollbackup durchführen
                    os.system('rsync -aoAEHX %s %s/%s/' % (' '.join(quellen), ziel_verzeichnis, time.strftime('%Y%m%d')))
                lastBackup=time.strftime("%Y%M%D")
                while lastBackup == time.strftime('%Y%m%d'):
                    time.sleep(3600) # eine Stunde schlafen, dann erneut abfragen, was zu tun ist, sofern dich das Datum geändert hat
            time.sleep(1)
    except KeyboardInterrupt:
        print "Beendet."
    Shutdown hatte ich auch gerade - kam etwas unerwartet, hätte auch nicht passieren dürfen; ich vermute, dass es an der if __name__ == "__main__"-Struktur liegt, hab die deshalb mal rausgenommen (die Bedingung wird wahr, wenn man das Skript interaktiv ausführt; bin da aber jetzt erst drauf gekommen, dass der Sinn wohl nicht darin bestand, dass das Skript dann den Rechner runterfährt)
    Geändert von John W (27-09-2010 um 15:27 Uhr)

  7. #142
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    studierst du eig informatik? naja Bildschirm gibt er mir nix mehr aus kein plan ich kriegs nich hin die sicherung jedes mal passt was nich ich denk irgendwann sieht das chef auch und es bleibt so wies is oder kp er küdnigt mich kann auch sein.....

  8. #143
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    richtig er soll shutdown ausführen wenn die variable 2 ist nicht nachdem er was ausgeführt hat. Jedenfalls das shutdown gehört in die if Anweisung mit dazu =)

  9. #144
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Noch geh ich zur Schule, Stufe 12.

    Poste mal die Ausgaben, damit kann ich mehr anfangen als mit "passt was nich" ;-)
    Kopf hoch, wird schon klappen.

  10. #145
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Zitat Zitat von bluecrystal21 Beitrag anzeigen
    richtig er soll shutdown ausführen wenn die variable 2 ist nicht nachdem er was ausgeführt hat. Jedenfalls das shutdown gehört in die if Anweisung mit dazu =)
    Trifft ja jetzt zu (Code hatte ich ja geändert).

  11. #146
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    naja ich bin nur meisterin in betriebsinformatik aber Python hatt ich nicht gelernt un das mit 21.. Naja wie dem auch sei.
    also die JETZIGE Aufgabe meines Chefs:
    erstell ein imkrementielles Backup das eine Liste mit Dateien Durchsucht, diese ausliest welche Daten neu hinzugekommen sind von irgendeinem Datum (erstmal nur zu sehn das es funktioniert später wird das ganze aus einer Datei ausgelesen das vom Administrator am Server bestimmt wird) und sichere von heute bis Dato
    deswegen hab ich 2 Dateien *hehe* die ich öffne und da hol ich die Variable auswahl her derzeit ists auch so ich hab nen Datum einfach so mal festgelegt aber ich muss erstma nen log einer Vollsicherung machen dann mach ich so 2-3 txt Dateien diese füg ich dann einfach hinzu und mit den 2-3 Daten erstma ne imkrementielle Sicherung. Später sind das mehr Daten durch Benutzer und deswegen versuch ichs erstma so hinzukriegen da es später eh auf größere Zeiträume ausgelegt wird und dann eh nen log hinterlegt wird. Das is meine jetzige Aufgabe und ich muss sagen ich bin kurz davor Amok zu laufen ^^.

  12. #147
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Die aufgabe ist iwie merkwürdig; geht es sich jetzt um Backup oder darum, Dateien zu finden, die in einem bestimmten Zeitraum (Datum x bis heute) bearbeitet wurden? Ersteres haben wir ja schon mit tar und jetzt mit rsync, wobei irgendwas wohl nie gepasst hatte (wobei ich auch nicht dahinterkomme was nicht passte).
    Letzteres ist mit der find-tar-Methode machen, wobei wir eine Referenzdatei erstellen und das Änderungsdatum einfach auf die angegebene Zeit setzen.
    Damit wäre die Aufgabe auf beide Arten gelöst.

  13. #148
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    es geht um eine Sicherung Definitiv. vll sollten wir mal Telen da könnt ichs besser erklären naja hab in 12 minuten Feierabend -.-
    es passte definitiv nicht wenn ich die tar die ich imkrementiel verpackt hab das er alle daten anzeigt? ich hab nur eine txt geschrieben und er zeigt 22 mb an is doch merkwürdig deswegen hab ich tar -tvf dateiname.tar aufgerufen und gesehn er speichert die komplette home-partition nochmals.

  14. #149
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Code:
    os.system('touch /tmp/reference -d "%s" ; find -newer "/tmp/reference" | tar -czf "%s" -T -', % (datum, ziel_verzeichnis))
    datum hat dabei folgendes Format: YYYY/MM/DD

  15. #150
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    hm ich werds mal versuchen hab auch grad was gefunden wie...


    http://www.wer-weiss-was.de/theme26/article1725978.html
    $ tar --newer=./lastbackup


    vll das irgendwie einbauen und lastbackup= backup.log

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •