Если я запускаю ls -ltr на myserver.org:/some/path/dir:

-rw-r--r-- 1 devops   devops   20727251 Mar 16 08:02 herp1.derp
-rw-r--r-- 1 devops   devops   24542012 Mar 16 08:03 herp2.derp
-rw-r--r-- 1 stduser devops    7716282 Mar 16 08:31 herp3.derp
-rw-r--r-- 1 stduser devops 1490729406 Apr 20 08:04 herp4.derp
-rw-r--r-- 1 stduser devops 1489656380 Apr 20 08:04 herp5.berp
-rw-r--r-- 1 stduser devops 1489960585 Apr 20 08:04 herp6.derp
-rw-r--r-- 1 stduser devops 1492748611 Apr 20 08:04 herp7.berp

Я ищу способ использования scp в сочетании с шаблоном файла, который будет возвращать только файлы *.berp которые были последний раз затронуты / изменены 20 Apr 20 . Обычно мой синтаксис scp :

scp someUser@myserver.org:/some/path/dir/* .

Но я хочу, чтобы файл pattern /some/path/dir/* * выполнил только файлы Apr 20 *.berp . Есть идеи? Заранее спасибо!

1 ответ1

0

Поскольку вы пытаетесь получить данные с удаленного сервера через SSH, вы можете сделать это следующим образом:

ssh someUser@myserver.org "cd /some/path/dir/; tar cz \`find . -name '*.berp' -daystart -mtime -5 -a -mtime +3\`" | tar xvz

Возможно, вам придется поиграть со значениями mtime чтобы получить точную дату, которую вы хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .