口是心非全卷恢复,丢失一些文件和服务

口是心非全卷恢复,丢失一些文件和服务

我在 Ubuntu Xenial 上使用口是心非来创建和加密备份并将其存储在 S3 存储桶 (Scaleway) 上。

这是我正在使用的备份脚本:

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

我从备份中排除这些文件 (exclude-list.txt):

  • /tmp
  • /进程
  • /系统
  • /启动
  • /dev
  • /mnt
  • /丢失+找到
  • /光盘
  • /交换文件
  • /vmlinuz
  • /vmlinuz.old
  • /initrd.img
  • /initrd.img.old

我想要完整备份,因此我将其设置/为 .scw-configrc 中的源: export SOURCE="/"

我对 GPG 密钥或连接到存储桶没有任何问题。我遇到的问题是,即使我使用 运行备份脚本sudo,它似乎也没有备份某些文件,因此当我在新服务器实例上进行完全恢复时,某些服务会丢失。

当我尝试使用 进行从源服务器到新实例的完整复制时rsync,这些相同的服务复制并成功运行。其中一个例子是postgres和。我可以知道的是,所有三个服务都在不同的用户而不是 root 下运行。 postgresql 和 postfix 都位于 下,似乎缺少很多文件,而 jenkins 运行于,也缺少文件。jenkinspostfix/usr/lib/usr/bin/

这是恢复脚本(尽管我很确定我正在谈论的文件一开始就不会备份):

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

文件所有权是否存在问题?或者我做错了什么?似乎没有运行的服务似乎都是从以下子目录运行的/usr/

相关内容