Vollständige Volume-Wiederherstellung von Duplicity, einige Dateien und Dienste fehlen

Vollständige Volume-Wiederherstellung von Duplicity, einige Dateien und Dienste fehlen

Ich verwende Duplicity auf Ubuntu Xenial zum Erstellen und Verschlüsseln von Backups und zum Speichern dieser in einem S3-Bucket (Scaleway).

Dies ist das Backup-Skript, das ich verwende:

#!/bin/bash
source ./.scw-configrc

HOST=`hostname`
DATE=`date +%Y-%m-%d`
TODAY=$(date +%d%m%Y)

currently_backuping=$(ps -ef | grep duplicity  | grep python | wc -l)

if [ $currently_backuping -eq 0 ]; then
# Clear the recent log file
cat /dev/null > ${LOGFILE_RECENT}

log ">>> removing old backups"
duplicity remove-older-than ${KEEP_BACKUP_TIME} ${SCW_BUCKET} >> ${LOGFILE_RECENT} 2>&1

log ">>> creating and uploading backup"
duplicity \
    incr --full-if-older-than ${FULL_BACKUP_TIME} \
    --asynchronous-upload \
    --exclude-globbing-filelist exclude-list.txt \
    --encrypt-key=${GPG_FINGERPRINT} \
    --sign-key=${GPG_FINGERPRINT} \
    ${SOURCE} ${SCW_BUCKET} >> ${LOGFILE_RECENT} 2>&1

cat ${LOGFILE_RECENT} >> ${LOGFILE}
fi

Diese Dateien schließe ich vom Backup aus (exclude-list.txt):

  • /tmp
  • /proc
  • /sys
  • /Stiefel
  • /Entwickler
  • /Min.
  • /verloren+gefunden
  • /CD-ROM
  • /Auslagerungsdatei
  • /vmlinuz
  • /vmlinuz.old
  • /initrd.img
  • /initrd.img.alt

Ich möchte ein vollständiges Backup, daher stelle ich /in .scw-configrc als Quelle ein: export SOURCE="/"

Ich habe keine Probleme mit GPG-Schlüsseln oder der Verbindung zum Bucket. Das Problem ist, dass, obwohl ich das Sicherungsskript mit ausführe sudo, bestimmte Dateien anscheinend nicht gesichert werden. Wenn ich also eine vollständige Wiederherstellung auf einer neuen Serverinstanz durchführe, fehlen einige Dienste.

Als ich versuchte, mit eine vollständige Kopie vom Quellserver auf eine neue Instanz zu erstellen rsync, wurden dieselben Dienste kopiert und erfolgreich ausgeführt. Ein Beispiel hierfür sind postgres, jenkinsund postfix. Was ich feststellen kann, ist, dass alle drei Dienste unter verschiedenen Benutzern und nicht unter root ausgeführt werden. Und sowohl PostgreSQL als auch Postfix befinden sich unter , /usr/libwobei viele Dateien zu fehlen scheinen, während Jenkins unter ausgeführt wird /usr/bin/, wobei die Dateien ebenfalls fehlen.

Dies ist das Wiederherstellungsskript (obwohl ich ziemlich sicher bin, dass die Dateien, von denen ich spreche, überhaupt nicht gesichert werden):

#!/bin/bash
source ./.scw-configrc

if [ $# -lt 2 ]; then
        echo -e "Usage $0 <time or delta> [file to restore] <restore to>
    Exemple:
    \t$ $0 2018-7-21 recovery/  ## recovers * from closest backup to date
\t$ $0 0D secret data/  ## recovers most recent file nammed 'secret'";
exit; fi

if [ $# -eq 2 ]; then
    duplicity -vd --force \
        --rsync-options="--super --del --recursive --force --ignore-errors" \
        --time $1 \
        ${SCW_BUCKET} $2
fi

if [ $# -eq 3 ]; then
    duplicity -vd --force \
        --rsync-options="--super --del --recursive --force --ignore-errors" \
        --time $1 \
        --file-to-restore $2 \
        ${SCW_BUCKET} $3
fi

Gibt es Probleme mit Dateieigentümern? Oder mache ich etwas falsch? Die Dienste, die nicht zu laufen scheinen, laufen alle aus Unterverzeichnissen von/usr/

verwandte Informationen