Beiträge von tk1908


    Ich habe jier aus der Hinterlassenschaft meines Vaters ein Laptop liegen (Fujitsu Siemens Amilo Pi1505) welches meine Mutter gerne weiterverwenden möchte. Allerdings müsste ich da das System evtl. neu aufsetzen da mein Vater mir noch mitteilte das wohl was nicht stimmt. Leider ist der Lappi aber mit einem Passwort gesichert, ich komme nicht mal ins Bios - und die Kiste will zum booten auch das Biospasswort. Was kann ich tun? Mein Vater hatte sich solche Sachen nie notiert, gängige Sachen wie Geburtstage und Namen haben wir schon durchprobiert - ohne Erfolg. An die Daten rankommen ist nicht das Problem - da kann ich die Platte ausbauen und am Desktop auslesen - aber wir wollen ja das Lappi weiter verwenden!

    CMOS-Batterie rausgenommen?

    So mein Code sieht nun so aus:

    Vielen Dank noch mal an DosAmp, der mch auf die Lösung gebracht hat.

    Du musst deinen Code noch mal umschreiben. So erfasst $EXIT nur den Rückgabewert von date bzw. sogar die Wertzuweisung an $TMPLOG, die beide natürlich immer erfolgreich ablaufen. Und selbst wenn du den Code hinter die letzte Backup-Zeile schiebst, wird immer noch der Rückgabewert von tee anstatt rsync erfasst.

    Bash (#!/bin/bash) bietet dir dafür das Array PIPESTATUS an, das dir ermöglicht, auf alle einzelnen Rückgabewerte der Befehle in einer Pipe zuzugreifen.

    Selbst dann bekommst du aber eine Erfolgsmeldung, wenn dein erstes Backup fehlschlägt und das zweite nicht. Du musst beide Rückgabewerte in Betracht ziehen:

    Code
    rsync -avu $SOURCE $TARGET |tee -a $LOG >> $TMPLOG; RSYNC1_RET=${PIPESTATUS[0]}
    rsync -avu $SOURCE /mnt/LAN/Sicherung\ Doku/Monatsbackups/$FULLNAME/ |tee -a $LOG >> $TMPLOG; RSYNC2_RET=${PIPESTATUS[0]}
    
    
    if [ $RSYNC1_RET -eq 0 -a $RSYNC2_RET -eq 0 ]; then ...; else ...; fi


    Merci. Konnte deinen Code erfolgreich implementieren. Danke :)


    da ich damit und srv2012 produktiv arbeite kann ich sagen das es super ist und ich doch positiv überrascht bin, wie die Statistik bis jetzt aussieht - sidn die meisten Nörgler dann doch mehr Linux user und Leute die ihrem 4/86 hinterher weinen denn selbst meine MUTTER nutzt Windows8 produktiv und das soll was heißen

    Also den Server 2012 fand ich persönlich grausig. Ist mir wohlgemerkt immer noch n Rätsel, warum dcpromo rausgeworfen wurde.

    Hat einer von euch ne Idee, wie ich die Log-Funktion zum laufen bekomme?


    Wird ja inzwischen richtig schön das Script :)
    Ich kann es heute Abend mal testen, wenn du möchtest.

    OK. Mein Problem ist halt, dass ich sowohl beim Fehlschlagen, als auch beim erfolgreichen Durchlauf ne (lokale) Mail bekommen soll, was mit dem vorigen Skript nicht machbar war. Momentan werden die Funktion log() scheinbar mehrere Mails gesendet. Das muss ich noch fixen. Mal schauen wie ich das anstelle.

    Mal n bisschen mit funktionen gespielt.

    Habe das Skript allerdings noch nicht testen können.

    So jetzt vorerst endgültige Fassung für mein Backup-Skript.

    Wenn jemand ne Idee hat, wie ich mein Log-Problem löse (lokale Mail bein Erfolg oder Misserfolg des Backups.), der möge sie mir bitte mitteilen.)



    $0 ist der nullte Parameter an dein Programm und enthält den Namen der Programmdatei bzw. deines Shellskripts. Was du willst, ist vermutlich $?, Rückgabewert des zuletzt ausgeführten Programms. Außerdem solltest du [ $EXIT -eq 0 ] (Zahlen-Vergleich) statt [ $EXIT = 0 ] (Zeichenketten-Vergleich) benutzen, dann wäre dir das schon ggf. von alleine aufgefallen. ;)

    Im Übrigen:

    Code
    DESTDIR=/mnt/LAN/Sicherung\ PC
    rsync foo $DESTDIR


    macht nicht was du denkst – das Leerzeichen wird zwar ordnungsgemäß in der Variablen gespeichert, aber diese wird trotzdem als zwei Parameter übergeben. Dateinamen sollte man möglichst immer in Anführungszeichen übergeben.

    Merci

    Die Variable TARGETB funzt jetzt. Allerdings tut der "Fehlerlog" immernoch nicht.
    So siehts jetzt aus: