Borg로 백업 스크립트 작성
두 번째 컴퓨터를 사용하지 않고 외장 하드 드라이브를 사용하려는 경우 나중에 스크립트에서 이를 조정하고 두 번째 컴퓨터에 대한 지침의 요점을 무시할 수 있습니다.
요구 사항
설치
먼저 한 컴퓨터에 백업하고 다른 컴퓨터에 저장할 수 있도록 두 컴퓨터에 borg를 설치해야 합니다.
sudo apt install borgbackup
그런 다음 Borg 리포지토리를 만듭니다. 외부 대상 또는 로컬 경로를 사용할 수 있습니다.
외부 대상:
borg init --encryption=repokey ssh://[email protected]:22/mnt/backup/borg
로컬 경로:
borg init --encryption=repokey /path/to/backup_folder
외부 대상을 사용하는 경우 대상에 SSH 키를 저장하는 것이 좋습니다.
이렇게 하면 암호를 입력할 필요가 없으며 내 관점에서 볼 때 더 좋습니다.
모든 것을 생성하고 매개변수로 스크립트를 준비한 후에는 스크립트를 CronJob으로 실행하여 더 이상 직접 백업하는 것을 기억할 필요가 없도록 하는 것이 좋습니다.
crontab 예:
#Minute Hour Day Month Day(Week) command
#(0-59) (0-23) (1-31) (1-12) (1-7;1=Mo)
00 2 * * * /srv/scripts/borgBackup.sh
자동화된 스크립트
#!/bin/sh
# VARS
BACKUPSERVER="192.168.2.42"
BACKUPDIR="/mnt/backup/borg"
# Here you can either use your external destination or the local path.
# External target
export BORG_REPO="user@$BACKUPSERVER:$BACKUPDIR"
# Local path
# export BORG_REPO=/path/to/backup_folder
# Your repository password must be stored here.
export BORG_PASSPHRASE='S0m3th1ngV3ryC0mpl1c4t3d'
info() { printf "\n%s %s\n\n" "$( date )" "$*" >&2; }
trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM
info "Start backup"
#Here the backup is created, adjust it the way you would like to have it.
borg create \
--stats \
--compression lz4 \
::'BackupName-{now}' \
/etc/nginx \
/home/user
backup_exit=$?
info "Deleting old backups"
# Automatic deletion of old backups
borg prune \
--prefix 'BackupName-' \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6
prune_exit=$?
# Information on whether the backup worked.
global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit ))
if [ ${global_exit} -eq 0 ]; then
info "Backup and Prune finished successfully"
elif [ ${global_exit} -eq 1 ]; then
info "Backup and/or Prune finished with warnings"
else
info "Backup and/or Prune finished with errors"
fi
exit ${global_exit}
백업에서 데이터 가져오기
먼저 백업을 마운트할 수 있는 임시 디렉토리를 만듭니다.
mkdir /tmp/borg-backup
마운트 지점이 생성되면 백업 저장소를 마운트할 수 있습니다.
이 시점에서 외부 대상 또는 로컬 경로를 사용할 수 있음을 기억해야 합니다.
borg mount ssh://[email protected]/mnt/backup/borg /tmp/borg-backup
저장소가 마운트되면 디렉토리로 변경하고 rsync 또는 cp를 통해 파일을 복원할 수 있습니다.
결론
나는 당신이 모든 것을 이해하고 이제 현명하게 당신의 똥을 확보할 수 있기를 바랍니다. 백업이 없으면 우리 모두 길을 잃기 때문입니다!
Reference
이 문제에 관하여(Borg로 백업 스크립트 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/n00d13/writing-backup-scripts-with-borg-2mad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)