Подумав об опубликованных ответах (в частности, об идее @ Джоша по просмотру измененного времени), я пытался запустить манипуляции с файлами B на C. Понимаете, B является анемичным, насколько доступны инструменты, поэтому ничто, казалось, не могло выполнить эту работу был здесь. Я пришел к этому решению. Эта идея не моя, я нашел ее в поиске Google перед этим вопросом. Я отказался от этого ранее, так как машина B не имела find
утилиты.
Сначала смонтируйте соответствующий каталог на B на C, чтобы он отображался как локальная файловая система. Я использовал sshfs
для этого (кстати, замечательный инструмент). Это позволит мне использовать утилиты C вместо B.
Во-вторых, команда find /the/folder/* -mmin +5
будет соответствовать всем файлам, измененным более 5 минут назад. Таким образом, команда find /the/folder/* -mmin +5 -exec {} /the/other/folder \;
переместит все файлы, которые были изменены более 5 минут назад, в другую папку (которая на самом деле находится на C, вместо sshfs, смонтированного из B.
Наконец, я настроил скрипт cron для запуска вышеуказанного скрипта каждые 10 минут сегодня и завтра. Строка в моем crontab выглядит следующим образом.
*/5 * 22,23 9 * find /the/folder/* -mmin +5 -exec mv {} /the/other/folder \;
Надеюсь, это сработает. Следующий файл еще не закончен, так что я не могу комментировать, действительно ли он работает в сочетании со скриптом cron, но я сделал несколько файлов вручную и посеял их, и они переместились нормально. скрестить пальцы
Изменить: это работает, хотя, как это было изначально, были некоторые ошибки, теперь они исправлены.