口是心非全卷恢復,失去一些文件和服務

口是心非全卷恢復,失去一些文件和服務

我在 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/

相關內容