FreeBSD – серверная автоматизация SFTP


Итак, задача – на сервере под управлением FreeBSD сваять скриптик, который регулярно “ходит” по SFTP и “забирает” определенный файлик.
Поначалу задача показалась мне очень простой – пишем сценарий, скармливаем его sftp клиенту и вуаля.
На деле всё сильно осложнилось:
1. Сервер не принимал аутентификацию по ключам (себе то я сгенерировал, а вот закинуть ключ на сервер – облом), поэтому коннект осуществлялся только с вводом пароля
2. Передача пароля клиенту через конвеер либо перенаправлением ввода не срабатывал – ТОЛЬКО ручной ввод с клавиатуры

Далее гугл и статейка Автоматизация sftp
Установка expect и проба скрипта так же не увенчалась успехом, но и несколько часов мучения с перлом тоже – NET::SFTP ни в какую не хотел вставать на серваке.

После чего у меня возникла идея автоматического монтирования sftp – снова гугл и решение – sshfs !

Но опять же sshfs требует ручного ввода пароля – по идее раз замонтировал и работай, но аптайм сервера всё же не 100% и при перезагрузке монтировать нужно автоматом…
Снова затык!

Попровал объединить первый метод expect и sshfs, который и привёл к положительному результату после поисков в виде скриптика:

Кидаем его в автозапуск – то есть сюды /usr/local/etc/rc.d
Чтоб запускался последним – имя делам начиная с Z

ЧТД

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *