Символическая ссылка на последний файл в папке - PullRequest
6 голосов
/ 22 января 2010

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

Когда файлы обновляются, они меняют имя, например, в папке dir1 у меня есть fv01 и fv02. Позже в тот же день кто-то добавляет fv02_v1; послезавтра кто-то добавляет fv03 и так далее. Другими словами, у меня всегда есть обновленный файл, но с другим именем.

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

Я могу сделать это на Python или Bash, но мне было интересно, что там, так как это вряд ли редкая проблема.

Как бы вы поступили?

Спасибо.

Juan

PS. Моя операционная система Linux. В настоящее время у меня есть простой демон (Python), который время от времени просматривает (обновляет каждую минуту) последний файл. Мне кажется это излишним. 1020 *

1 Ответ

3 голосов
/ 22 января 2010

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

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

Редактировать : Я только что видел ваше редактирование. Поскольку у вас уже есть демон, inotify не может быть такой плохой идеей. Это было бы несколько эффективнее, чем постоянные запросы, поскольку ОС сообщит вам, когда что-то в ваших каталогах изменилось.

Я не знаю Python достаточно хорошо, чтобы указывать вам на что-то конкретное, но должна существовать оболочка для inotify.

...