У меня есть 2 веб-сервера. Давайте назовем их локальными и удаленными просто для простоты. Локальный: у меня есть только доступ по ftp и cron, Удаленный: ssh / ftp
Я написал простой скрипт резервного копирования, который отслеживает файлы и затем отправляет их на удаленный сервер. (вызывается в 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. Иногда даже при первом запуске l oop, когда соединение еще не установлено.
Я не думаю, что это что-то нарушает, но мне любопытно, почему это происходит, и если это возможно, как Могу ли я предотвратить такое поведение. (Я пытался использовать 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/