2010-01-22 1 views
6

다양한 파일에 대한 경로가 필요한 프로그램이 있습니다. 파일은 다른 폴더에 저장되며 불규칙한 간격으로 지속적으로 업데이트됩니다.폴더의 최신 파일에 대한 심볼릭 링크

파일이 업데이트되면 이름이 바뀝니다. 예를 들어 dir1fv01fv02이 있습니다. 나중에 누군가가 fv02_v1을 추가합니다. 누군가가 fv03을 추가 한 다음 날. 즉, 나는 항상 업데이트 된 파일을 가지고 있지만 다른 이름을 가지고있다.

"실행"폴더에서 이러한 파일에 대한 심볼릭 링크를 생성하여 링크가 항상 최신 파일을 가리 키도록합니다.

파이썬이나 배시에서는이 작업을 수행 할 수 있습니다. 그러나이 작업은 흔히 드문 문제이므로 거의 궁금합니다.

어떨까요?

감사합니다.

주안

추신. 제 운영체제는 Linux입니다. 나는 현재 최신 데 이터를보기 위해 (매분 새로 고침) 간단한 데몬 (Python)을 가지고있다. 나에게 과도한 잔인한 것처럼 보입니다.

+1

이것이 서버 오류 (http://serverfault.com/)에 대한 질문이 아니어야하는지 궁금합니다. – Omnifarious

+0

OP가 명령 구문을 찾지 않습니다. OP는 자동적으로'ln'을 주기적으로 수행하는 Python이나 Bash 스크립트를 작성하는 것보다 문제를 해결하는 더 간단하거나보다 우아한 방법을 찾고 있습니다. – Omnifarious

+0

그는 bash 또는 python에서이 작업을 수행하려고합니다. 나에게 프로그래밍 질문처럼 보인다. – Duck

답변

3

명시 적으로 (예 : 디렉토리에 수천 개의 파일을 남겨 두어야하는) 설득력있는 이유가없는 한 수정 시간별로 파일을 정렬하는 스크립트로 제안하는 방식대로 수행하십시오. 내가 알고있는 비밀 방법이 없다.

inotify을 사용하여 디렉토리를 모니터하고 즉시 링크를 설정하는 데몬을 작성할 수 있지만 과장된 것 같습니다.

편집 : 방금 편집을 보았습니다. 이미 데몬을 가지고 있기 때문에 inotify는 그렇게 나쁜 생각이 아닐 수도 있습니다. OS가 디렉토리의 내용이 변경되면 알려줄 것이기 때문에 계속 질의하는 것보다 다소 효율적입니다.

필자는 파이썬을 알지 못하지만 특정한 것을 지적 할 수는 있지만 inotify 용 래퍼가 있어야합니다.

+0

고마워요, 덕. 마침내 libc 버전의 이유로'inotify '를 사용할 수 없었지만 마침내 업그레이드 할 때 훨씬 더 일반적인 해결책을 제공 할 수있는 좋은 방법이되었습니다. 단지 기록을 위해 Python inotify 모듈이 있습니다. 다시 한 번 감사드립니다! (+1 및 허용) – Escualo