1

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

scp user@samplemachine:/home/user/test/* /home/user/test

Но тогда я должен копировать только файлы, созданные 1 час назад. Как мне этого добиться? Пожалуйста, помогите мне с этим. Спасибо

1 ответ1

2

Команда scp не предлагает никакой фильтрации по времени модификации или дате. Но так как у вас есть доступ к scp вас также есть доступ через ssh - я полагаю. Если нет, то следующее не поможет вам.

Перед тем, как копировать файлы, вы можете узнать, какие файлы имеют дату модификации более одного часа.

for i in `find <location> -name <filename> -type f -mmin +60`
do
    scp $i <user>@<destination server>:/<destination directory>/
done

Опция, которую вы ищете:

-mmin n
    File's data was last modified n minutes ago.

+ Перед номером минут рассказывает find для поиска файлов модифицированы 60 и более минут назад. - нашел бы 60 и меньше минут.

Этот сценарий будет запускаться на удаленной машине через ssh и будет отправлять файлы на машину для удаления файлов.

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