Automatisches nächtliches Backup möglich?

    • Automatisches nächtliches Backup möglich?

      Ich finde die Option, per Hand Bouquets, Einstellungen, Plugins und das gesamte Image zu sichern gut. Sehr gut sogar.

      Da ich in meiner Mac, NAS & Co Umgebung gerne Dinge automatisiere, stelle ich mir die Frage ob es möglich ist diesen Prozess des Backups Nachts automatisch erledigen zu lassen.

      Gibt es hierzu evtl ein separates Plugin?
      Idee für ein Script? Gibt es so etwas bereits?

      Ziel ist es
      Jede Nacht 1x Backup des gesamten Images zu machen
      Jede Nacht 1x Backup von Bouquets, Einstellungen & Plugins zu machen
    • ----------------------------------------------------------------------------------------------------------------------------------------------------------------
      KAPIERVORGANG beendet.

      Zubehör : Philips 46PFL-9705 / 37PFL-9604, Samsung HT-E6759W, Samsung SPF 107H-105P-87H, Qnap TS-253A, Harmony 650, Fritzbox 7490, Cisco WAP4410N, Netgear M4100-D12G, TPLink HS100/HS110/LB110
    • Ich bin da leider nicht so bewandert! Vielleicht kannst du/ihr mir mal erklären was ich zu tun hab?
      Was ich einmal in der Datei backupsuite.sh ändern muss damit ich ein vollständiges Image immer Nachts um 2:00 Uhr mache!
    • Zuerst mal die backupsuite.sh manuell ausführen, um zu testen, ob sie funktioniert, ob du Parameter übergeben musst, oder im script z.B. den Ausgabepfad anzupassen.
      wenn das einwandfrei funktioniert, erstellst du mit crontab -e einen Cronjob, der täglich um 02:00 das Backup-Script startet
      das sieht dann nachher ungefähr so aus:
      * 2 * * * /usr/bin/backupsuite.sh

      die Sterne stehen für:
      The time and date fields are:
      field allowed values
      ----- --------------
      minute 0-59
      hour 0-23
      day of month 1-31
      month 1-12 (or names, see below)
      day of week 0-7 (0 or 7 is Sunday, or use names)

      wichtig ist,
      das du den vollständigen Pfad zum Script angibst und
      die Eingabezeile mit einem "Return" abgeschlossen wird, dann mit ESC :w speichern und mit ESC :q beenden (VI ist der verwendete Editor)
      Eine Beschreibung zu Crontab gibts u.a. hier: man7.org/linux/man-pages/man5/crontab.5.html
      ACHTUNG!!!! Hier folgt eine Signatur:


      Die Benutzung der Suche ist NICHT verboten! D:

      "Hilfe!!!" ist kein sinnvoller Titel für einen neuen Thread, ebensowenig "VU+Zero" oder vergleichbares.

      Keine Hilfe ohne ausgefülltes Profil!
      Kein Netzwerksupport bei manueller IP-Adress-Vergabe :-)
      Kein Support bei portforwardings/ Portfreigaben

      Profil extra angepasst für die arme Emma, die sonst nichts im Leben hat :happy1:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GaborDenes ()

    • ich scheiter schon am manuellen ausführen des Scriptes! :(
      hab mir ne Telnet Konsole geschnappt bin ins VErzeichnis /usr/bin gewechselt und einfach backupsuite.sh eingegeben! Rechte stehen auf 755!
      Es kommt der Fehler line 15 redir error!

      Was mache ich falsch?

      Gruß
    • Hast du denn mal nachgeschaut, was in Zeile 15 drinsteht? Ich kenne das Script nicht, könnte mir aber vorstellen, dass man es mit einem Parameter (z.B. Ziel des Backups) aufrufen muss. ist nur geraten.
      Eventuelle Ratschläge gebe ich nach bestem Wissen und Gewissen aber ohne jede Gewähr. Bei Fragen fragen.
      Tipps:
      Screenshots erstellen VU+ Wiki

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dibagger ()

    • als Nachtrag zu meinem Post:
      0 0 * * * /scripts/copy_timers.xml
      macht täglich um 0:00 ein backup der timers.xml
      zu deiner Fehler in Line 15:
      umount /tmp/bi/root > /dev/null 2>&1
      da versucht er ein vorher gemountetes Filesystem zu unmounten, offenbar reicht es nicht, das Script ohne Parameter aufzurufen, da das FS nicht gemountet ist und es somit zu der Fehlermeldung kommt. Ich bin leider wenig begabt, was scripting angeht, aber ich würde das Script mal mit dem Parameter aufrufen, wohin gesichert werden soll, salso vermutlich /media/hdd oder /media/usb, also das was dir in der MenuAuswahl in der GUI angeboten wird
      Hier die Prozessliste während das Script läuft:
      /usr/sbin/mkfs.ubifs -r /tmp/bi/root -o /media/usb/bi/root.ubi -m 2048 -e 126976 -c 4096 -F
      , also legt er das Verzeichnis /tmp/bi an, um ein FS dort zu erzeugen
      also solltest du das Script mit dem Ziel als Parameter aufrufen
      bei mir gibts dann noch 2 Fehlermeldungen:
      ./backupsuite.sh: line 99: message03: not found
      ./backupsuite.sh: line 134: message06a: not found


      da versucht er ein paar Texte zum Status auszugeben, also nichts dramatisches
      ACHTUNG!!!! Hier folgt eine Signatur:


      Die Benutzung der Suche ist NICHT verboten! D:

      "Hilfe!!!" ist kein sinnvoller Titel für einen neuen Thread, ebensowenig "VU+Zero" oder vergleichbares.

      Keine Hilfe ohne ausgefülltes Profil!
      Kein Netzwerksupport bei manueller IP-Adress-Vergabe :-)
      Kein Support bei portforwardings/ Portfreigaben

      Profil extra angepasst für die arme Emma, die sonst nichts im Leben hat :happy1:
    • Hallo,

      also das hat funktioniert! Hab jetzt in der backupsuite.sh das WorkDir angepasst in /media/hdd/nas/vuplus! Das ist das verzeichnis wo ich meine Backups ablegen möchte!
      Die message Fehler kommen auch aber in diesem Verzeichnuis finde ich jetzt die root.ubi und die ubinize.cfg! Was mache ich jetzt damit?
      werden alle andere Daten in dem Verzeichnis dann gelöscht?

      P.S. ach der war noch am Image erstellen sagte dann aber auf einmal zu wenig Speicherplatz! ;( ;?: !
      Hatte nen Symlink auf meine NAS unter media/hdd/NAS/VUplus liegen! Muss ich dann ales Verzeichnis media/net/autofs/VUPlus angeben??

      Gruß

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Snewi ()

    • Ich habe mich jetzt auch mal an dem Script versucht, aber bisher läuft bei mir leider gar nichts :-/

      Ich habe im WorkDir /media/hdd/backups definiert und dann das script wie folgt aufgerufen

      backupsuite.sh /media/hdd/backups

      Trotzdem erhalte ich:
      not foundckupsuite.sh: line 10:
      : not foundckupsuite.sh: line 11:
      : not foundckupsuite.sh: line 14: {
      /usr/bin/backupsuite.sh: line 15: redir error

      moaaar das muss doch irgendwie klappen
    • ;P ja warte ;)

      Spoiler anzeigen

      ###################### DEFINE CLEAN-UP ROUTINE ################################
      clean_up()
      {
      umount /tmp/bi/root > /dev/null 2>&1
      rmdir /tmp/bi/root > /dev/null 2>&1
      rmdir /tmp/bi > /dev/null 2>&1
      rm -rf "$WORKDIR" > /dev/null 2>&1
      }

      ###################### BIG OOPS!, HOLY SH... (SHELL SCRIPT :-))################
      big_fail()
      {
      clean_up
      $SHOW "message15" # Image creation FAILED!
      exit 0
      }
      ##### I QUIT #####


      ########################## DECLARATION OF VARIABLES ###########################
      VERSION="Version 12.5 for VU+ Original Image 2.1 - 06-08-2013"
      START=$(date +%s)
      MEDIA="$1"
      DATE=`date +%Y%m%d_%H%M`
      IMAGEVERSION=`date +%Y%m%d`
      MKFS=/usr/sbin/mkfs.ubifs
      NANDDUMP=/usr/sbin/nanddump
      UBINIZE=/usr/sbin/ubinize
      WORKDIR="$media/net/autofs/VUPlus/backup_auto"
      TARGET="XX"
      UBINIZE_ARGS="-m 2048 -p 128KiB"


      ################### START THE LOGFILE /tmp/BackupSuite.log ####################
      echo "Plugin version = $VERSION" > /tmp/BackupSuite.log
      echo "Back-up media = $MEDIA" >> /tmp/BackupSuite.log
      df -h "$MEDIA" >> /tmp/BackupSuite.log
      echo "Back-up date_time = $DATE" >> /tmp/BackupSuite.log
      echo "Working directory = $WORKDIR" >> /tmp/BackupSuite.log

      ######################### TESTING FOR UBIFS OR JFFS2 ##########################
      if grep rootfs /proc/mounts | grep ubifs > /dev/null; then
      ROOTFSTYPE=ubifs
      else
      $SHOW "message01" #NO UBIFS, THEN JFFS2 BUT NOT SUPPORTED ANYMORE
      big_fail
      fi

      ####### TESTING IF ALL THE TOOLS FOR THE BUILDING PROCESS ARE PRESENT #########
      if [ ! -f $NANDDUMP ] ; then
      echo -n "$NANDDUMP " ; $SHOW "message05" # nanddump not found.
      echo "NO NANDDUMP FOUND, ABORTING" >> /tmp/BackupSuite.log
      big_fail
      fi
      if [ ! -f $MKFS ] ; then
      echo -n "$MKFS " ; $SHOW "message05" # mkfs.ubifs not found.
      echo "NO MKFS.UBIFS FOUND, ABORTING" >> /tmp/BackupSuite.log
      big_fail
      fi
      if [ ! -f $UBINIZE ] ; then
      echo -n "$UBINIZE " ; $SHOW "message05" # ubinize not found.
      echo "NO UBINIZE FOUND, ABORTING" >> /tmp/BackupSuite.log
      big_fail
      fi

      ########## TESTING WHICH BRAND AND MODEL SATELLITE RECEIVER IS USED ###########
      if [ -f /proc/stb/info/vumodel ] ; then
      MODEL=$( cat /proc/stb/info/vumodel )
      MKUBIFS_ARGS="-m 2048 -e 126976 -c 4096 -F"
      SHOWNAME="Vu+ $MODEL"
      MAINDEST="$MEDIA/fullbackup_OI_2.1_$MODEL/$DATE/vuplus/$MODEL"
      EXTRA="$MEDIA/vuplus"
      echo "Destination = $MAINDEST" >> /tmp/BackupSuite.log
      ######################### NO SUPPORTED RECEIVER FOUND #########################
      else
      $SHOW "message01" # No supported receiver found!
      big_fail
      fi

      ############# START TO SHOW SOME INFORMATION ABOUT BRAND & MODEL ##############
      echo
      echo -n "$SHOWNAME " | tr a-z A-Z # Shows the receiver brand and model
      $SHOW "message02" # BACK-UP TOOL FOR MAKING A COMPLETE BACK-UP
      echo
      echo "$VERSION"
      echo
      $SHOW "message03" # Please be patient, ... will take about 5-7 minutes
      echo " "

      #exit 0 #USE FOR DEBUGGING/TESTING


      ##################### PREPARING THE BUILDING ENVIRONMENT ######################
      rm -rf "$WORKDIR" # GETTING RID OF THE OLD REMAINS IF ANY
      echo "Remove directory = $WORKDIR" >> /tmp/BackupSuite.log
      mkdir -p "$WORKDIR" # MAKING THE WORKING FOLDER WHERE EVERYTHING HAPPENS
      echo "Recreate directory = $WORKDIR" >> /tmp/BackupSuite.log
      mkdir -p /tmp/bi/root
      echo "Create directory = /tmp/bi/root" >> /tmp/BackupSuite.log
      sync
      mount --bind / /tmp/bi/root


      ####################### START THE REAL BACK-UP PROCESS ########################
      #------------------------------------------------------------------------------
      ############################# MAKING UBINIZE.CFG ##############################
      echo \[ubifs\] > "$WORKDIR/ubinize.cfg"
      echo mode=ubi >> "$WORKDIR/ubinize.cfg"
      echo image="$WORKDIR/root.ubi" >> "$WORKDIR/ubinize.cfg"
      echo vol_id=0 >> "$WORKDIR/ubinize.cfg"
      echo vol_type=dynamic >> "$WORKDIR/ubinize.cfg"
      echo vol_name=rootfs >> "$WORKDIR/ubinize.cfg"
      echo vol_flags=autoresize >> "$WORKDIR/ubinize.cfg"
      echo " " >> /tmp/BackupSuite.log
      echo "UBINIZE.CFG CREATED WITH THE CONTENT:" >> /tmp/BackupSuite.log
      cat "$WORKDIR/ubinize.cfg" >> /tmp/BackupSuite.log
      touch "$WORKDIR/root.ubi"
      chmod 644 "$WORKDIR/root.ubi"
      echo "--------------------------" >> /tmp/BackupSuite.log

      ############################# MAKING ROOT.UBI(FS) ############################
      $SHOW "message06a" #Create: root.ubifs
      echo "Start creating root.ubi" >> /tmp/BackupSuite.log
      $MKFS -r /tmp/bi/root -o "$WORKDIR/root.ubi" $MKUBIFS_ARGS
      if [ -f "$WORKDIR/root.ubi" ] ; then
      echo "ROOT.UBI MADE:" >> /tmp/BackupSuite.log
      ls -e1 "$WORKDIR/root.ubi" >> /tmp/BackupSuite.log
      else
      echo "$WORKDIR/root.ubi NOT FOUND" >> /tmp/BackupSuite.log
      big_fail
      fi

      echo "Start UBINIZING" >> /tmp/BackupSuite.log
      $UBINIZE -o "$WORKDIR/root.ubifs" $UBINIZE_ARGS "$WORKDIR/ubinize.cfg" >/dev/null
      chmod 644 "$WORKDIR/root.ubifs"
      if [ -f "$WORKDIR/root.ubifs" ] ; then
      echo "ROOT.UBIFS MADE:" >> /tmp/BackupSuite.log
      ls -e1 "$WORKDIR/root.ubifs" >> /tmp/BackupSuite.log
      else
      echo "$WORKDIR/root.ubifs NOT FOUND" >> /tmp/BackupSuite.log
      big_fail
      fi

      ############################## MAKING KERNELDUMP ##############################
      echo "Start creating kerneldump" >> /tmp/BackupSuite.log
      $SHOW "message07" # Create: kerneldump
      if [ $MODEL = "solo2" ] || [ $MODEL = "duo2" ]; then
      $NANDDUMP /dev/mtd2 -q > "$WORKDIR/vmlinux.gz"
      else
      $NANDDUMP /dev/mtd1 -q > "$WORKDIR/vmlinux.gz"
      fi
      if [ -f "$WORKDIR/vmlinux.gz" ] ; then
      echo "VMLINUX.GZ MADE:" >> /tmp/BackupSuite.log
      ls -e1 "$WORKDIR/vmlinux.gz" >> /tmp/BackupSuite.log
      else
      echo "$WORKDIR/vmlinux.gz NOT FOUND" >> /tmp/BackupSuite.log
      big_fail
      fi
      echo "--------------------------" >> /tmp/BackupSuite.log

      ############ MOVING THE BACKUP TO THE RIGHT PLACE(S) ##########################
      mkdir -p "$MAINDEST"
      echo "Created directory = $MAINDEST" >> /tmp/BackupSuite.log
      if [ $MODEL = "solo2" ] || [ $MODEL = "duo2" ]; then
      mv "$WORKDIR/root.ubifs" "$MAINDEST/root_cfe_auto.bin"
      else
      mv "$WORKDIR/root.ubifs" "$MAINDEST/root_cfe_auto.jffs2"
      fi
      mv "$WORKDIR/vmlinux.gz" "$MAINDEST/kernel_cfe_auto.bin"
      if [ $MODEL != "solo" -a $MODEL != "duo" ]; then
      touch "$MAINDEST/reboot.update"
      fi
      if [ -f "$MAINDEST/root_cfe_auto"* -a -f "$MAINDEST/kernel_cfe_auto.bin" ] ; then
      echo " " >> /tmp/BackupSuite.log
      echo "BACK-UP MADE SUCCESSFULLY IN: $MAINDEST" >> /tmp/BackupSuite.log
      echo " "
      $SHOW "message10" ; echo "$MAINDEST" # USB Image created in:
      $SHOW "message23" # "The content of the folder is:"
      ls "$MAINDEST" -e1h | awk {'print $3 "\t" $7'}
      ls -e1 "$MAINDEST" >> /tmp/BackupSuite.log
      echo " "
      else
      big_fail
      fi

      #HERE NEW PART ABOUT NO FOLDER VUPLUS/MODEL WHEN MADE ON HARDDISK OR REPLACEMENT
      if [ $HARDDISK != 1 ]; then
      mkdir -p "$EXTRA/$MODEL"
      echo "Created directory = $EXTRA/$MODEL" >> /tmp/BackupSuite.log
      cp -r "$MAINDEST" "$EXTRA" #copy the made back-up to images
      $SHOW "message11" ; echo "$EXTRA/$MODEL" # and there is made an extra copy in:
      fi

      echo " "
      $SHOW "message12" # directions for restoring the image for a vu+

      #################### CHECKING FOR AN EXTRA BACKUP STORAGE #####################
      if [ $HARDDISK = 1 ]; then # looking for a valid usb-stick
      for candidate in /media/sd* /media/mmc* /media/usb* /media/*
      do
      if [ -f "${candidate}/"*[Bb][Aa][Cc][Kk][Uu][Pp][Ss][Tt][Ii][Cc][Kk]* ]
      then
      TARGET="${candidate}"
      fi
      done
      if [ "$TARGET" != "XX" ] ; then
      echo " "
      $SHOW "message17" # Valid USB-flashdrive detected, making an extra copy
      echo " "
      TOTALSIZE="$(df -h "$TARGET" | tail -n 1 | awk {'print $2'})"
      FREESIZE="$(df -h "$TARGET" | tail -n 1 | awk {'print $4'})"
      $SHOW "message09" ; echo -n "$TARGET ($TOTALSIZE, " ; $SHOW "message16" ; echo "$FREESIZE)"
      rm -rf "$TARGET/vuplus/$MODEL"
      mkdir -p "$TARGET/vuplus/$MODEL"
      cp -r "$MAINDEST" "$TARGET/vuplus/"
      echo " " >> /tmp/BackupSuite.log
      echo "MADE AN EXTRA COPY IN: $TARGET" >> /tmp/BackupSuite.log
      df -h "$TARGET" >> /tmp/BackupSuite.log
      sync
      $SHOW "message19" # Backup finished and copied to your USB-flashdrive
      fi
      fi
      ######################### END OF EXTRA BACKUP STORAGE #########################


      ################## CLEANING UP AND REPORTING SOME STATISTICS ##################
      clean_up
      END=$(date +%s)
      DIFF=$(( $END - $START ))
      MINUTES=$(( $DIFF/60 ))
      SECONDS=$(( $DIFF-(( 60*$MINUTES ))))
      if [ $SECONDS -le 9 ] ; then
      SECONDS="0$SECONDS"
      fi
      $SHOW "message24" ; echo -n "$MINUTES.$SECONDS " ; $SHOW "message25"
      echo "BACKUP FINISHED IN $MINUTES.$SECONDS MINUTES" >> /tmp/BackupSuite.log
      exit
      #-----------------------------------------------------------------------------




      hab nur das rote angepasst :)