Мне понадобится сценарий bash для рекурсивной передачи папок через FTP. Имя пользователя / пароль / IP - статический определен.
Поскольку передаваемые файлы представляют собой большие файлы базы данных (.bak и т. Д.) перезапись должно быть избегали. Желательно без подсказок, потому что скрипт должен быть «зарезервирован», чтобы запускаться ночью.
(Я не герой в bash, но мне кажется, что это самый простой вариант для данной ситуации)
Заранее спасибо!
Если конечный сервер - Linux, могу ли я предложить просто использовать rsync с ключом ssh? FTP не зашифрован и не имеет встроенной поддержки инкрементного резервного копирования.
Одного rsync с командной строкой, такой как показано ниже, может быть достаточно.
rsync -auv -e "ssh -i /path/to/keyfile" /path/to/source_directory/* \
user@remotehost:/path/to/destination_directory/
Вы можете установить FTPfs и cp
все есть. Убедитесь, что вы отключили дельта-передачу, чтобы файлы оттуда не скачивались :)
Кстати, как вы собираетесь делать эти резервные копии без перезаписи? у вас будет куча старых файлов, смешанных с некоторыми новыми, если вы не используете date
в имени папки.