Как определить, какой файл самый новый с удаленного сервера, к которому я подключен через SFTP? Моя цель - получать каждый день определенный файл через SFTP. Я буду следовать следующим шагам:
Подключиться к серверу через SFTP
Получить имя нужного мне файла <- нужна помощь на этом этапе
Загрузить
Я могу понять, как подключиться через SFTP из сценария, но я не уверен, как лучше всего определить, какой файл загружать.
Например, на сервере много файлов с таким названием:
ABC-Alpha-Sun-May-12-abc123.xml.gz
ABC-Beta-Sun-May-12-abc123.xml.gz
Я хочу получить только альфа-файл того дня. Я предполагаю, что я бы проверил имя для "May-12", чтобы узнать, является ли это сегодняшним файлом? Или, может быть, мне следует проверить дату создания файла или дату изменения?
Как мне получить имя файла? Может быть, я получу имена всех файлов, а затем как-нибудь их отсортирую?
Что бы вы порекомендовали как лучший способ достичь моей цели?
С WinSCP это просто. Вы можете использовать -latest
переключатель из get
команда в Сценарий WinSCP.
Кроме того, если вашим предпочтительным языком сценариев является PowerShell, вы также можете рассмотреть возможность использования сборки WinSCP .NET с ее Session.ListDirectory
метод.
На сайте WinSCP есть пример для всех этих подходов к загрузка самого последнего файла.
(Я автор WinSCP)