2013-06-10 2 views
1

Мне нужно скопировать некоторые файлы в Linux из одного каталога в другой (~ 100 файлов). И мне нужно скопировать их с определенной задержкой: например, 1 секунда.Как скопировать набор файлов с определенной задержкой

Если я скопирую их с помощью команды «cp», это происходит очень быстро. Размер файлов всего несколько килобайт.

Я не нашел ключей для команды «cp» для копирования файлов с задержкой.

Имена файлов различны и содержат время + идентификатор, так что это не легко использовать простой счетчик, как:

for (i = 0, i<100, i++){ 
    filename = "name" + i 
} 

Как реализовать эту задачу с помощью простого скрипта?

Я думаю, что это должно быть что-то вроде:

list a = ls "current dir" 
while list[i] != null 
    cp list[i] "destFolder" 
    i++ 

Спасибо за помощь

Right answer: find ./folder1/* -exec cp {} folder2/ \; -exec sleep 3 \; 
+0

Используйте 'cron' или' для' для этой цели. http://www.ibm.com/developerworks/library/l-job-scheduling/index.html –

+1

Зачем вам нужна задержка? Чтобы немного отдохнуть процессору? – devnull

+0

Мне нужно протестировать приложение, которое получит около 100 файлов в день и приблизительно 1 файл в минуту максимальной скорости и должно исправить их правильно. Поэтому мне не нужно немедленно получать все файлы –

ответ

3

вы можете использовать поиск с -exec, например

find . -exec cp {} ../newdir \; -exec sleep 1 \; 
+0

Да, это работает, и все просто! Благодаря! –

Смежные вопросы