私はUbuntu XenialでDuplicityを使用してバックアップを作成して暗号化し、S3バケットに保存しています。
私が使用しているバックアップスクリプトは次のとおりです。
#!/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
- /プロセス
- /システム
- /開始する
- /開発者
- /mnt
- /紛失+発見
- /CD
- /スワップファイル
- /vmlinuz
- /vmlinuz.old
- /initrd.img
- /initrd.img.old
完全バックアップが必要なので、これを/
.scw-configrcのソースに設定します。
export SOURCE="/"
GPGキーやバケットの接続に問題はありません。私が経験している問題は、バックアップ実行スクリプトを使用してもsudo
特定のファイルをバックアップしないため、新しいサーバーインスタンスで完全な復元を実行すると一部のサービスが失われることです。
を使用してソースサーバーから新しいインスタンスに完全なレプリケーションを実行しようとすると、rsync
同じサービスが正常に複製され、実行されます。 1つの例postgres
はとです。私が理解できるのは、3つのサービスがすべてroot以外のユーザーとして実行されていることです。 postgresqlとpostfixの両方が下に位置していますが、下でjenkinsが実行されていますが、欠落しているファイルが多いようで、欠落しているファイルもあるようです。jenkins
postfix
/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/