나는 서버에 새 파일을 알리는 irssi 스크립트를 만들고 싶습니다. 그러나 먼저 Perl에서 서버 (아파치 2.2.16 디렉토리 목록)에 최신 파일을 반환하고 다음 스크립트가 실행 된 후 스크립트가 필요합니다. 더 새로운 파일이 없다면 이전에 null이 반환되거나 서버에 새 파일이 있으면 해당 파일에 대한 링크를 반환합니다. 어떤 도움을 주셔서 감사합니다.디렉토리 목록이있는 서버의 최신 파일에 대한 링크를 반환 하시겠습니까?
답변
변수
당신은 어떤 영구적 인 방법으로 "마지막 실행 시간"(캐시, 파일, 지속적인 세션 데이터, 데이터베이스/DBM 파일)를 저장해야합니다$start_time
나중에에 스크립트의 시작 시간을 기억 .
- 는 각 파일에 대한 디렉토리 구조
에서 재귀 있다면 그냥 그 생성 또는 수정을 찾을
File::Find
을 특정 디렉토리에있는 파일, 또는 않다면 스크립트 (glob()
를 사용하여 원하는 파일의 목록을 생성 되세요stat
데이터를 사용하여 최신 파일을 찾기stat
전화를 통해 타임 스탬프를 (둘 중 하나를 당신이 원하는) 당신이 파일을 나열
glob
를 사용하는 경우, 목록을 검색하여 수행;.File::Find
경우, 단지 콜백은 암기의 일환으로 그것을 할 "지금까지 본 것"이 검색 "마지막 실행 시간"영구 데이터
을 발견 마지막 파일은 나중에 "마지막 실행 시간"보다 경우 해당 파일에 대한 링크를 반환 파일. 그렇지 않은 경우 null을 반환합니다.
스크립트의 시작 시간 (
$start_time
)을 "마지막 실행 시간"의 새 값으로 저장합니다.
UPDATE
파일의 목록 (웹 서버 등) 로컬이 아닌 경우, 당신은 파일 (및 타임 스탬프에 대한 stat
)를 나열하는 glob
단계를 교체해야 디렉토리 목록을 포함하는 적절한 HTML 페이지를 긁어 내고 (예 : 페이지를 검색하는 데 WWW::Mechanize
을 사용하고 HTML을 구문 분석하고 파일 이름과 타임 스탬프를 검색하는 경우 HTML::Twig
또는 HTML::Parser
사용) HTML의 내용을 읽는 모듈 테이블과 나는 CPAN이 특히 Apaches 파일 목록 HTML을 구문 분석하는 모듈을 가지고 있다면 놀라지 않을 것입니다. 내 직감이 맞았 및 mod_autoindex가에서 HTML 출력을 구문 분석 가능한 모듈이처럼
UPDATE2는
가 보이는 : File::Listing::apache
(libwww-perl
유통의 일부) 도움을
- 1. 서버의 파일에 대한 액세스
- 2. 폴더의 최신 파일에 대한 심볼릭 링크
- 3. 디렉토리 트리에 대한 다운로드 링크를 동적으로 생성합니다.
- 4. Jetty 6 : 디렉토리 목록이있는 정적 컨텐츠
- 5. 다른 서버의 파일에 대한 mysql 복원
- 6. 공개 파일에 대한 링크를 작성하는 방법
- 7. * .txt 파일에 대한 모든 링크를 모으는 것
- 8. 웹 서버의 디렉토리 (GIT 저장소 인 경우)
- 9. Drupal : 서버의 상대 파일에 대한 기본 링크 항목
- 10. 네트워크 드라이브에 최신 디렉토리 복사하기
- 11. IntelliJ의 최신 디렉토리 내용 얻기
- 12. 원격 서버의 파일에 쓰기
- 13. IIS7 다른 서버의 파일에 가상 디렉터리 만들기
- 14. Javascript를 사용하여 최신 짹짹 상태에 대한 링크를 표시하는 방법?
- 15. 정확한 터미널 아이콘에 대한 링크를 다운로드 하시겠습니까?
- 16. 검색 양식에 대한 링크를 게시 하시겠습니까?
- 17. NGINX : .php 파일에 403을 반환
- 18. 목록이있는 스레드
- 19. jQuery를 사용하여 서버의 파일에 쓰기?
- 20. 서버의 파일에 UI 콘텐츠 작성하기
- 21. 원격 서버의 dBase 파일에 연결
- 22. XSLT를 사용하여 수정할 수없는 CSS 링크를 xhtml 파일에 추가 하시겠습니까?
- 23. 최신 DOM 사양에 대한 링크
- 24. 회원 목록이있는 ID 선택
- 25. 셀을 클릭 할 때 문서 목록이있는 창을 시작 하시겠습니까?
- 26. CodeIgniter에서보기 파일에 대한 직접 액세스를 제한 하시겠습니까?
- 27. nfs 서버의 두 디렉토리 사이에서 복사
- 28. 다른 서버의 ASP.Net 페이지 액세스 디렉토리
- 29. SVN의 분기에 대한 심볼릭 링크를 만드시겠습니까?
- 30. 파일에 대한 href 유효성 검사
감사합니다 :) – James