Restauración de volumen completo por duplicidad, faltan algunos archivos y servicios

Restauración de volumen completo por duplicidad, faltan algunos archivos y servicios

Estoy usando duplicidad en Ubuntu Xenial para crear y cifrar copias de seguridad y almacenarlas en un depósito S3 (Scaleway).

Este es el script de respaldo que estoy usando:

#!/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

Excluyo estos archivos de la copia de seguridad (exclude-list.txt):

  • /tmp
  • /proceso
  • /sistema
  • /bota
  • /desarrollador
  • /mnt
  • /perdido+encontrado
  • /CD ROM
  • /archivo de intercambio
  • /vmlinuz
  • /vmlinuz.old
  • /initrd.img
  • /initrd.img.old

Quiero una copia de seguridad completa, así que la estoy configurando /como fuente en .scw-configrc: export SOURCE="/"

No tengo problemas con las claves GPG ni para conectarme al depósito. El problema que tengo es que, aunque estoy ejecutando el script de copia de seguridad con sudo, parece que no realiza una copia de seguridad de ciertos archivos, por lo que cuando hago una restauración completa en una nueva instancia del servidor, faltan algunos servicios.

Cuando intenté hacer una copia completa desde el servidor de origen a una nueva instancia con rsync, esos mismos servicios se copiaron y ejecutaron correctamente. Un ejemplo de esto es postgres, jenkinsy postfix. Lo que puedo decir es que los tres servicios se ejecutan con usuarios diferentes en lugar de con root. Y tanto postgresql como postfix se encuentran debajo de /usr/libdonde parece que faltan muchos archivos, mientras que jenkins se ejecuta desde /usr/bin/, donde también faltan los archivos.

Este es el script de restauración (aunque estoy bastante seguro de que los archivos de los que hablo no se respaldan en primer lugar):

#!/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

¿Hay problemas con la propiedad de los archivos? ¿O estoy haciendo algo mal? Todos los servicios que no parecen ejecutarse parecen ejecutarse desde subdirectorios de/usr/

información relacionada