Получать уведомления о новых файлах на сервере SFTP

Я ищу решение для моей проблемы. У меня есть SFTP-доступ к серверу клиента, и мне нужен какой-то скрипт или что-то еще, чтобы смотреть после новых файлов, потому что они добавлены нерегулярно. Мне нужна эта функциональность:

Когда на сервере есть новый файл, сценарий в лучшем случае отправляет электронное письмо (но я буду благодарен за любой другой вид уведомления).

I может иметь только SFTP - так что нет ssh и т. д. Знаете ли вы что-нибудь подобное?

1
задан 24 October 2015 в 10:53

1 ответ

С учетом http://manpages.ubuntu.com/manpages/trusty/en/man1/sftp.1.html

используйте параметр -b для передачи команд sftp в cd на удаленный каталог и список файлов (используйте ls -l или ls -1t), вам нужно будет настроить ssh-ключи для проверки подлинности без пароля, чтобы вывод для поиска новых файлов снова использовал sftp для получения новых файлов.

Используйте cron, чтобы планировать это задание каждые N минут или часов

1
ответ дан 23 May 2018 в 23:55
  • 1
    Спасибо, это отлично выглядит. Но есть небольшая проблема - это только получение файлов из текущего каталога, но мне нужно получить все файлы рекурсивно из всех подкаталогов. Я просмотрел эту страницу руководства, но я не нашел подсказки, как это сделать. – honza-kasik 23 January 2015 в 20:29
  • 2
    Вы знаете, что такое иерархия каталогов? Если нет, к сожалению, sftp ls не имеет рекурсивной опции, поэтому вы отключите свою работу, чтобы вы анализировали вывод ls для файлов по сравнению с каталогами и программным путем опускались в подкаталоги. Если вы do знаете структуру dir, тогда вам нужно запрограммировать cd somewhere; ls – glenn jackman 23 January 2015 в 20:32
  • 3
    Я знаю только, сколько уровней мне нужно будет спуститься. Мне нужно создать временный командный файл для sftp для каждого спуска ... Но ведь это звучит как хорошее решение. Благодаря :). – honza-kasik 23 January 2015 в 20:45

Другие вопросы по тегам:

Похожие вопросы: