
백업을 생성 및 암호화하고 이를 S3 버킷(Scaleway)에 저장하기 위해 Ubuntu Xenial에서 이중성을 사용하고 있습니다.
제가 사용하고 있는 백업 스크립트는 다음과 같습니다.
#!/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
- /proc
- /sys
- /신병
- /개발자
- /mnt
- /분실+발견
- /CD 롬
- /스왑 파일
- /vmlinuz
- /vmlinuz.old
- /initrd.img
- /initrd.img.old
전체 백업을 원하므로 /
.scw-configrc에서 소스로 설정합니다.
export SOURCE="/"
GPG 키나 버킷 연결에 문제가 없습니다. 을(를) 사용하여 백업 스크립트를 실행해도 sudo
특정 파일을 백업하지 않는 것 같아서 새 서버 인스턴스에서 전체 복원을 수행할 때 일부 서비스가 누락되는 문제가 있습니다 .
를 사용하여 원본 서버에서 새 인스턴스로 전체 복사를 시도했을 때 rsync
동일한 서비스가 성공적으로 복사되고 실행되었습니다. 이에 대한 한 가지 예는 postgres
, jenkins
및 입니다 postfix
. 내가 알 수 있는 것은 세 가지 서비스가 모두 루트가 아닌 다른 사용자로 실행되고 있다는 것입니다. 그리고 postgresql과 postfix는 모두 /usr/lib
많은 파일이 누락된 것으로 보이는 반면 jenkins는 /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/