Anzeige:
Seite 12 von 13 ErsteErste ... 210111213 LetzteLetzte
Ergebnis 166 bis 180 von 181

Thema: Datensicherung Ala Python muha ^^

  1. #166
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Jop, genau das macht der Code.

  2. #167
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    Code:
    elif auswahl == 0  :
        zaehler+=1
      #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'
        datei_liste=os.listdir('/%s' % '/etc/dp/')
        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)
    
        else:
            print "Fehler: Kein vorheriges Backup!"
    so sieht der eine Teil nun aus, ABER
    ausgabe:
    python dp_client.py
    File "dp_client.py", line 63
    else:
    ^
    SyntaxError: invalid syntax
    Geändert von bluecrystal21 (28-09-2010 um 09:35 Uhr)

  3. #168
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Code:
    quellen = ['/home/davidlinux/',]
    ziel_verzeichnis = '/etc/dp/'
    elif auswahl == 0:
        zaehler+=1
        # Die Dateien und Verzeichnisse, die gesichert werden sollen,
    
        print 'Sicherung wird gestartet und unter /etc/dp/ gespeichert'
        print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen'
    
        # Der Name der Tar-Datei:
        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()
            print 'tar --newer=/%s/%s -cvf /%s/Backup%s-%s_%s.tar %s' % (ziel_verzeichnis, datei_liste[-1], ziel_verzeichnis, time.strftime('%Y%m%d'), time.strftime('%H%M%S'), zaehler, ' '.join(quellen))
        else:
            print "Fehler: Kein vorheriges Backup!"
    Ich denk mal ich hab das so richtig eingerückt.

    PS: Nutz bitte Variablen, fest reingeschriebene Werte (insbesondere Pfade) sind immer schlecht, da man erst umständlich danach suchen muss - und wenn man mal einen Pfad ändern will, hat man Arbeit.

  4. #169
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    Habs nun kopiert und immer das else: hatn fehler bei Zeile 47
    Mom:
    Code:
      
    #! /usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import linecache
    import sys, dbus
    import os
    import time
    import subprocess
    import re
    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","0")
          outfile.write(line)
          print line
      outfile.close()
    
    elif auswahl == 0  :
        zaehler+=1
      #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'
        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 %s' % (ziel_verzeichnis, datei_liste[-1],    ziel_verzeichnis, time.strftime('%Y%m%d'), time.strftime('%H%M%S'), zaehler, ' '.join(quellen))
        else:
            print "Fehler: Kein vorheriges Backup!"
    #elif auswahl == 2 :
    # 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
    # if __name__ == "__main__":
    #    shutdown()
    #elif auswahl == 3 :
      #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:
    #    ziel = heute + os.sep + jetzt + '.tar'
    # Vollbackup
    #    os.system('tar -c -f /etc/dp/Backup%s_0 -g /home/davidlinux/backup.log "%s"' %
    #   (time.strftime('%Y%m%d-%H%M%S'), ' '.join(quellen)))
    Wann musste denn heut wieder Schule?

    hab den rest erstmal auskommentiert kann man später wieder Reinmachen

  5. #170
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Hab nur noch ne Stunde Deutsch, mein Hassfach -.-

    Code:
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import linecache
    import sys, dbus
    import os
    import time
    import subprocess
    import re
    
    # Konfiguration nach oben:
    quellen = ['/home/davidlinux/',]
    ziel_verzeichnis = '/etc/dp/'
    
    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","0")
          outfile.write(line)
          print line
      outfile.close()
    
    elif auswahl == 0:
        zaehler+=1
        # Die Dateien und Verzeichnisse, die gesichert werden sollen,
        print 'Sicherung wird gestartet und unter /etc/dp/ gespeichert'
        print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen'
        # Der Name der Tar-Datei:
        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 %s' % (ziel_verzeichnis, datei_liste[-1], ziel_verzeichnis, time.strftime('%Y%m%d'), time.strftime('%H%M%S'), zaehler, ' '.join(quellen)))
        else:
            print "Fehler: Kein vorheriges Backup!"
    #elif auswahl == 2 :
    # 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
    # if __name__ == "__main__":
    #    shutdown()
    #elif auswahl == 3 :
      #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:
    #    ziel = heute + os.sep + jetzt + '.tar'
    # Vollbackup
    #    os.system('tar -c -f /etc/dp/Backup%s_0 -g /home/davidlinux/backup.log "%s"' %
    #   (time.strftime('%Y%m%d-%H%M%S'), ' '.join(quellen)))

  6. #171
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    jaaaaaaaaaaaa da habn wir definitiv was gemeinsam ich habs auch gehasst so das ich das Buch damals an den Tisch geknallt hab aufgestanden bin und gegangen bin ^^.
    Fehlermeldung bei deinem Code:
    python dp_testclient2.py
    Traceback (most recent call last):
    File "dp_testclient2.py", line 31, in <module>
    zaehler+=1
    NameError: name 'zaehler' is not defined

    ach mich regt die Programmierung nur noch auf vorallem Chef fragt alle Stunden nach mit was is jetz etc -.-

  7. #172
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Der Zähler ist irgendwo flöten gegangen, schmeißen wir ihn ganz raus und nehmen stattdessen nur die Zeit:
    Code:
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import linecache
    import sys, dbus
    import os
    import time
    import subprocess
    import re
    
    # Konfiguration nach oben:
    quellen = ['/home/davidlinux/',]
    ziel_verzeichnis = '/etc/dp/'
    
    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","0")
          outfile.write(line)
          print line
      outfile.close()
    
    elif auswahl == 0:
        # Die Dateien und Verzeichnisse, die gesichert werden sollen,
        print 'Sicherung wird gestartet und unter /etc/dp/ gespeichert'
        print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen'
        # Der Name der Tar-Datei:
        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.tar %s' % (ziel_verzeichnis, datei_liste[-1], ziel_verzeichnis, time.strftime('%Y%m%d'), time.strftime('%H%M%S'), ' '.join(quellen)))
        else:
            print "Fehler: Kein vorheriges Backup!"
    #elif auswahl == 2 :
    # 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
    # if __name__ == "__main__":
    #    shutdown()
    #elif auswahl == 3 :
      #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:
    #    ziel = heute + os.sep + jetzt + '.tar'
    # Vollbackup
    #    os.system('tar -c -f /etc/dp/Backup%s_0 -g /home/davidlinux/backup.log "%s"' %
    #   (time.strftime('%Y%m%d-%H%M%S'), ' '.join(quellen)))

  8. #173
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    Fuck er gibt mir aus:

    python dp_testclient2.py
    Sicherung wird gestartet und unter /etc/dp/ gespeichert
    Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen
    Fehler: Kein vorheriges Backup!

    x.x

  9. #174
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Mach mal aus "datei_liste.pop(i)" "print datei_liste.pop(i)", dann siehst du, welche Dateien er sonst benutzen könnte, vl. stimmt was mit dem Filter nicht.

  10. #175
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    ja ok er gibt mir den backup.log aus aber der log is nicht mehr aktuell weil die letzte vollsicherung ohne log. gemacht wurde dh die Datei gibts mit _0 dran aber keinen log dazu.

  11. #176
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Dann ist soweit alles OK, du musst nur einmalig eine Vollsicherung machen, dann arbeitet das Skript wie es soll.

  12. #177
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    ja schon aber, er aktualisiert den log nicht.
    hab grad Vollsicherung reingeknallt und er sagt trotzdem: kein Backup vorhanden. also der Log ist von 8 uhr noch was aber aktualisiert is er nich da hab ich iwas zerschossen beim log.

  13. #178
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Log-Datei brauchst du ja nicht mehr, das Skript arbeitet über die Änderungszeiten. Du bracuhst nur das letzte Vollbackup+alle folgenden inkrementellen Backups, wobei nur das letzte Backup für das Skript relevant ist, der Rest wird nur zum Wiederherstellen aus dem Backup benötigt.

  14. #179
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    dann passt aber der filter nicht ganz denn der müsste mir das vollsicherungs-backup ausgeben aber er gibt backup.log aus.

  15. #180
    Registrierter Benutzer
    Registriert seit
    19.08.2010
    Beiträge
    145
    haste eig um 12.30 noch zeit? weil mein Arbeitskollege drängelt das er in Mittag will weil wir zum Lidl fahren müssen mit meinem Auto -.-"" und dann einkaufen +augen roll+ nur weil er so verfressen isch ^^ naja lehrling halt xD

Lesezeichen

Berechtigungen

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