2 개의 웹 서버가 있습니다. 단순성을 위해 로컬 및 원격이라고 부르겠습니다. 로컬 : ftp 및 cron 액세스 만 있음, 원격 : ssh / ftp
간단한 백업 스크립트를 작성했습니다. 파일을 tar로 저장 한 다음 원격 서버로 보냅니다. (cron에서 호출) 로컬 서버는 원격 서버의 ~ / .ssh / authorized_keys에 추가되어 비밀번호를 사용하지 않고 연결합니다.
cd $FILES_TO_BACKUP_DIR
for dir in */
do
base=$(basename "$dir")
tar -czpf "$BACKUP_DIR/${base}-$DATE.tar.gz" "$dir"
rsync -az -e "ssh -p $REMOTE_HOST_PORT -i $KEY_PATH" $BACKUP_DIR $REMOTE_HOST_ADDRESS:$REMOTE_BACKUP_DIR
rm $BACKUP_DIR/${base}-$DATE.tar.gz
done
잘 작동한다고 생각합니다-파일이 원격 서버에 나타납니다.
그러나이 메시지에 대해 잘 모르겠습니다 Connection to xxx.xxx.xxx.xxx closed by remote host.
. 스크립트가 호출 될 때마다 다른 횟수로 나타납니다.
테스트 목적으로 약 20 개의 tar를 복사합니다. 타임 스탬프와 함께 에코를 추가하여 발생하는 지점을 확인하고 tar를 만든 후에 만 발생합니다. 때로는 연결이 아직 설정되지 않아야 할 때 첫 번째 루프에서도 실행됩니다.
나는 그것이 아무것도 망가 뜨리지 않는다고 생각하지만 왜 이런 일이 일어나고 있는지 그리고 가능하다면 어떻게 그러한 행동을 예방할 수 있는지 궁금합니다. ( rsync -q
메시지를 억제하기 위해을 사용 했지만 작동하지 않습니다.)
set -x에서 어떻게 보이는지 :
./backup.sh
+ cd /home/tobackup/
+ for dir in '*/'
++ basename lgsm/
+ base=lgsm
+ tar -czpf /home/test/_backups/backups-tmp/lgsm-09-01-2020.tar.gz lgsm/
+ rsync -vaz -e 'ssh -p PORT' /home/test/_backups/backups-tmp USER@IP:/home/backups_test/_backups/backups
sending incremental file list
backups-tmp/
backups-tmp/lgsm-09-01-2020.tar.gz
backups-tmp/serverfiles-09-01-2020.tar.gz
Connection to IP closed by remote host.
sent 237,480,856 bytes received 10,786 bytes 6,168,614.08 bytes/sec
total size is 241,069,740 speedup is 1.02
+ rm /home/test/_backups/backups-tmp/lgsm-09-01-2020.tar.gz
+ for dir in '*/'
++ basename log/
+ base=log
+ tar -czpf /home/test/_backups/backups-tmp/log-09-01-2020.tar.gz log/
+ rsync -vaz -e 'ssh -p PORT' /home/test/_backups/backups-tmp USER@IP:/home/backups_test/_backups/backups
sending incremental file list
backups-tmp/
backups-tmp/log-09-01-2020.tar.gz
Connection to IP closed by remote host.
sent 900 bytes received 81 bytes 654.00 bytes/sec
total size is 237,899,887 speedup is 242,507.53
+ rm /home/test/_backups/backups-tmp/log-09-01-2020.tar.gz
+ for dir in '*/'
++ basename serverfiles/
+ base=serverfiles
+ tar -czpf /home/test/_backups/backups-tmp/serverfiles-09-01-2020.tar.gz serverfiles/
5 개의 서로 다른 서버 간의 설명 된 동작을 비교했으며 하나의 특정 서버와의 연결에만이 문제가 있습니다.
md5 체크섬으로 확인한 후 파일이 동일한 지 확인합니다.
경고는 아무 영향도 미치지 않으므로 메시지를 억제하기로 결정했습니다.
지금은 서버에서 백업 스크립트를 수정 했으므로 ssh를 사용하는 경우 >> $BACKUP_LOGS_FILE 2>&1
명령 끝에 다음 을 수행하여 출력을 파일에 먼저 기록합니다 .
스크립트의 맨 끝에서 grep을 사용하여 출력을 필터링합니다. grep -v 'Connection to xxx.xxx.xxx.xxx closed by remote host.' $BACKUP_LOGS_FILE
그러나 누군가가 원인이 될 수있는 설명이 있으면 자유롭게 답변을 추가하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다