
Я хочу создать скрипт оболочки, который копирует резервную копию каталога с моего исходного сервера и помещает их в другой каталог на целевом сервере с помощью команды sftp. Кроме того, после помещения файла на целевой сервер, я хочу сравнить размер исходного и целевого сервера, чтобы убедиться, что sftp был полностью успешным или нет.
решение1
Вместо sftp
этого используйте указанный инструмент, например rsync
:
С исходного сервера:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
С целевого сервера:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
Это имеет то преимущество, что копирует только измененные файлы или даже только изменения внутри файла. По умолчанию выполняется сравнение размера и времени модификации, но вы можете использовать -c, --checksum
сравнение на основе контрольной суммы.
Добавить --delete
для удаления файлов, которые были удалены на исходном сервере.