Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Borg Backup

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Borg Backup

    This topic has been deleted. Only users with topic management privileges can see it.
    • hallo.amt
      hallo.amt last edited by hallo.amt

      Hallo zusammen,

      hat jemand von euch mal borg ausprobiert?
      Das kann die Daten per SSH auf einen anderen Rechner kopieren. Währenddessen werden die Daten komprimiert und nur wirklich geänderte Daten übertragen. Im Gegensatz zu klassischen Lösungen wird nicht zwischen vollständigen, differenziellen und inkrementellen Backups unterschieden, es wird ein forever incremental Ansatz genutzt. Man startet es per Kommandozeile und gibt alle benötigten Parameter dort an. Auf meinen Rechner wird es mit einem Skript und einem cronjob gestartet.
      Um die Daten wiederherzustellen gibt es extract mit dem man die Daten in ein vorhandeses Dateisystem wiederherstellen kann oder mount mit dem man die Daten per FUSE einhängen kann.

      Auf meinem Solaris NAS hat das erste Backup 7 Tage gedauert, aber sowohl das NAS als auch der Raspberry 4 sind nicht besonders rechenstark. Mein ioBroker-Pi braucht zwischen 2 und 10 Minuten, je nachdem, wieviele Änderungen es gab. Dazu muss man aber auch beachten, daß der Backup Pi nach dem ersten befüllen vom Schwarzwald nach Berlin umgezogen ist, damit ich eine räumliche Trennung habe. Die Verbindung läuft über OpenVPN und SSH. Wenn man diese Möglichkeit nicht hat reicht ein Server, auf dem SSH und borg laufen, der muss nicht einmal besonders vertrauenswürdig sein, die Backups werden vor der Übertragung verschlüsselt.

      Viele Grüße 🙂

      P.S.: Das normale BackItUp Backup läuft natürlich auch, das wird dann von den Borg assimiliert.

      #!/bin/sh
      
      # Setting this, so the repo does not need to be given on the commandline:
      export BORG_REPO='backupuser'@'backuphost':/backups/`cat /etc/hostname`
      
      # See the section "Passphrase notes" for more infos.
      export BORG_PASSPHRASE='Hier koennt Ihr Passwort stehen, am besten lang und zufaellig...'
      
      # some helpers and error handling:
      info() { printf "\n%s %s\n\n" "$( date )" "$*" >&2; }
      trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM
      
      info "Starting backup"
      
      # Backup the most important directories into an archive named after
      # the machine this script is currently running on:
      
      # Hier werden z.B. Datenbanken gedumpt und apt-clone erstellt eine Sicherung.
      /usr/local/bin/backupdumps.sh
      
      borg create                         \
          --verbose                       \
          --filter AME                    \
          --list                          \
          --stats                         \
          --show-rc                       \
          --compression lz4               \
          --exclude-caches                \
          --exclude '/home/*/.cache/*'    \
          --exclude '/root/.cache'        \
          --exclude '/var/cache/*'        \
          --exclude '/var/tmp/*'          \
      	--exclude '/dev'                \
      	--exclude '/proc'               \
      	--exclude '/var/run'            \
      	--exclude '/run'                \
      	--exclude '/lost+found'         \
      	--exclude '/var/log'            \
      	--exclude '/tmp'                \
                                          \
          ::'{hostname}-{now}'            \
          /etc                            \
          /home                           \
          /root                           \
          /var                            \
      	/usr/local                      \
      	/opt                            \
      
      backup_exit=$?
      
      info "Pruning repository"
      
      # Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
      # archives of THIS machine. The '{hostname}-' prefix is very important to
      # limit prune's operation to this machine's archives and not apply to
      # other machines' archives also:
      
      borg prune                          \
          --list                          \
          --prefix '{hostname}-'          \
          --show-rc                       \
          --keep-daily    7               \
          --keep-weekly   4               \
          --keep-monthly  6               \
      
      prune_exit=$?
      
      # use highest exit code as global exit code
      global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit ))
      
      if [ ${global_exit} -eq 0 ]; then
          info "Backup and Prune finished successfully"
      elif [ ${global_exit} -eq 1 ]; then
          info "Backup and/or Prune finished with warnings"
      else
          info "Backup and/or Prune finished with errors"
      fi
      
      exit ${global_exit}
      
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      603
      Online

      31.8k
      Users

      80.0k
      Topics

      1.3m
      Posts

      backup borg
      1
      1
      229
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo