borg 백업을 사용하려고 하는데 SSH에 문제가 있습니다. /var/www/html과 같은 일부 루트 파일을 백업 중이므로 루트 권한이 필요하므로 백업 스크립트를 루트로 실행해야 하지만 루트로 실행하면 스크립트이기 때문에 SSH 키가 작동하지 않는 것 같습니다. cron을 사용하여 실행하고 싶습니다. 즉, 매번 비밀번호를 입력할 수 없다는 의미입니다. 사용자로부터 스크립트를 실행하면 SSH 키가 작동하지만 일부 파일 위치에 대한 권한이 거부되어 백업이 작동하지 않습니다.
저는 Hetzner와 함께 보관함에 백업하는 작업을 하고 있습니다.
내 스크립트:
#!/usr/bin/env bash
LOG="/var/log/borg/backup.log"
BACKUP_USER="XXXXXXX"
REPOSITORY_DIR="backups/Node1"
REPOSITORY="ssh://${BACKUP_USER}@${BACKUP_USER}.your-storagebox.de:23/./${REPOSITORY_DIR}"
exec > >(tee -i ${LOG})
exec 2>&1
echo "###### Backup started: $(date) ######"
echo "Transfer files ..."
BORG_PASSPHRASE='XXXXXXXXXX' borg create -v --stats \
$REPOSITORY::'{now:%Y-%m-%d_%H:%M}' \
/root \
/etc \
/var/www \
/home \
--exclude /dev \
--exclude /proc \
--exclude /sys \
--exclude /var/run \
--exclude /run \
--exclude /lost+found \
--exclude /mnt \
--exclude /var/lib/lxcfs
echo "###### Backup ended: $(date) ######"
답변1
방금 SSH 개인 키를 루트 사용자에게 복사했는데 이제 작동합니다.
cp /home/user/.ssh/rsa_pub /root/.ssh/rsa_pub