bzip2: Input file backup_openhab_2021-08-03_12-43-30.img is not a normal file.

  • Hallo Forum,


    nun habe ich mir eine bash datei gebaut. damit ich das backup automatisch erstellen kann. Nur leider kommt diese Fehlermeldung

    bzip2: Input file backup_openhab_2021-08-03_12-43-30.img is not a normal file.


    #! /bin/sh

    # nfs pakete installieren

    echo "*** installieren von nfs und bzip2 ***"

    sudo apt install nfs-common time bzip2

    # mount Verzeichnis erstellen

    echo "*** Verzeichnix erstellen für BackUp ***"

    sudo mkdir /media/nas/$(hostname)

    # exportierte NAS Feigaben prüfen

    # mit IP

    echo "*** Anfrage an NAS ***"

    sudo showmount -e 192.168.5.15

    # Sieht gut aus, also mounten wir das NFS

    echo "*** Synco Ordner erstellen zwischen PI und NAS ***"

    sudo mount 192.168.5.15:/nfs/backuppi/$(hostname) /media/nas/$(hostname) -t nfs -o rw,soft,nolock

    # von mount kommt kein Okay oder sowas. Wenn kein Fehler kommt hat's funktioniert

    echo "*** Verzeichnis wechsel ***"

    cd /media/nas/$(hostname)

    echo "*** ShakeHand ***"

    touch hello-nas

    # jetzt sollte auf dem NAS die Datei hello-nas sichtbar sein

    # und starten das eigentliche Backup

    echo "*** BackUp erstellen auf NAS ***"

    sudo time dd if=/dev/mmcblk0 of=/media/nas/$(hostname)/backup_$(hostname)_$(date +%Y-%m-%d_%H-%M-%S).img bs=1MB

    # das dauert jetzt ne Weile und time zeigt und wie lange genau

    # Das erstellte Image ist so groß wie die Speicherkarte, daher komprimieren wir es mit bzip

    echo "*** BackUp kompremieren ***"

    bzip2 -7 *img


    In der bz2 Datei ist das img vorhanden und nach dem entpacken ist das eigentliche 32GB Image nur gerade mal 112MB groß.


    Danke Lars

  • Bernd666 Nicht unbedingt, das ist der Default wenn man es als `bzip2` aufruft. Ich würde das Sternchen noch mit einem ``./``, also ``./*.img`` ”schützen”, für den Fall das aus irgendwelchen Gründen dort Dateien liegen auf die das Muster passt, die mit einem ``-`` anfangen und als unbekannte Optionen für Probleme sorgen könnten.


    MagicBird Was sagt denn ein ``ls -l`` in dem Fall?


    Da sind so viele ``sudo`` drin das Du Dir überlegen solltest die alle raus zu werfen und das Skript selbst mit ``sudo`` auszuführen.


    ``cd`` ohne zu prüfen ob es tatsächlich funktioniert hat, ist nicht ganz ungefährlich. Ich würde da versuchen drauf zu verzichten und mit expliziten Pfaden zu arbeiten. Man könnte den Namen der Backupdatei auch an einen Namen binden und dann nicht einfach ``*img`` sondern den konkreten Namen *dieser* Backupdatei verwenden.

    “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” — Edsger Dijkstra