Для автоматизации я настоятельно рекомендую использовать 'lftp'. «Sftp» - это простой интерфейс, подходящий для интерактивного использования (например, нет кода состояния для сбоев и т. Д.).
У «lftp» есть много опций, помимо «sftp». В частности, он имеет листинг «на стороне клиента» (cls):
sftp
open sftp://host/path
user user password
cls -l --time-style='%Y-%m-%d %H:%M:%S'
Output:
drwxr-xr-x 2 root root 4096 2019-10-13 16:01:46 /bin/
drwxr-xr-x 3 root root 4096 2019-06-30 08:07:02 /boot/
drwxr-xr-x 2 root root 4096 2019-06-09 19:36:33 /cdrom/
drwxr-xr-x 18 root root 3960 2019-10-19 08:08:01 /dev/
drwxr-xr-x 150 root root 12288 2019-10-20 15:49:39 /etc/
drwxr-xr-x 4 root root 4096 2019-06-09 23:18:04 /home/
. Если вы ищете сокращение, вы также можете отсортировать по времени (я считаю, --sort=date
, и наоборот) -r
)и остановите обработку, как только вы совпадете с диапазоном дат.
Примечание: sftp имеет ограниченную команду 'find'. К сожалению, он не предлагает фильтрацию по дате.
Большинство других клиентов sftp, которые я пробовал, использовали формат LS по умолчанию. Исключением являются модули SFTP для Perl, Python, которые предоставляют клиенту дату в формате «Unix», что позволяет проводить любой тест. Однако это значительно больше работы, чем использование lftp
.