В системе я имею, файлы загружаются через серию различных механизмов в один центральный "входящий" каталог. Один раз в день те файлы обрабатываются, и они отъезжаются туда, где они должны быть (что логика не релевантна здесь). Они заканчивают в подкаталоге /files/
. Я предполагаю, что простое (хотя неточный в моем конкретном случае) должно было бы сказать, что файлы, которые запускаются с "a", перемещены в /files/a/afile
.
Таким образом, у меня есть загрузка подкаталогов в /files/
. Это является большим, и это работает на меня. Однако клиент только что сказал мне, что было бы хорошо, если мог бы быть "недавно добавленный" каталог, где файлы с прошлой недели доступны.
Моя первая мысль состояла в том, чтобы создать названный каталог /recent-files/
и расширьте сценарий обработки файла, чтобы сделать следующее после того, как он переместит файлы из /incoming/
:
/recent-files/
/files/
для любого файла (не каталог) созданный в течение недели/recent-files/
Кажется, что это работало бы, но мой удар все еще довольно слаб когда дело доходит до арифметических и дат создания файла. Может кто-либо предоставлять мне руку, обрабатывающую a find ... -exec ...
оператор, который приближает части два и три?
Конечно, если существует другой способ создать командную строку и NFS видимый "поисковый каталог", сообщенный мне.
find -L files -type f -newerct '-7 days' -exec ln -s -t recent-files {} +
(Конечно, измените «files» и «недавние файлы» соответствующим образом.)
«c», используемый в -newer, не время создания, это поле «change» как показано stat (команда, например, man 1 stat). В настоящее время файловые системы * nix редко хранят время создания, но время изменения ('c'), изменения ('m') и доступа ('a') доступно. Если ваша файловая система хранит время создания, вы можете использовать «B» («время рождения») - вы сразу же получите сообщение об ошибке, если оно не поддерживается.
Вы можете увидеть точное сокращение с датой:
$ date -d '-7 days'
Sat Oct 16 02:46:27 UTC 2010
$ date # this was executed one second later
Sat Oct 23 02:46:28 UTC 2010
Если вы используете Zeitgeist и FUSE возможны для вашего сценария, Zeitgeist Filesystem позволяет сортировать файлы и другие события Zeitgeist по времени в файловой системе пользовательского пространства.
Другое (более простое) решение может заключаться в том, чтобы использовать что-то вроде filesloaded в вашем скрипте для контроля вашего каталога на наличие входящих файлов.