Назад | Перейти на главную страницу

Bash-скрипт для рекурсивной передачи папки без перезаписи через FTP

Мне понадобится сценарий bash для рекурсивной передачи папок через FTP. Имя пользователя / пароль / IP - статический определен.

  1. Сервер, на котором выполняется сценарий: Linux
  2. Исходный сервер: Samba (Linux ...)
  3. Dest. Сервер: Linux

Поскольку передаваемые файлы представляют собой большие файлы базы данных (.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 в имени папки.