2010-12-09 6 views
0

리눅스의 현재 순간에 스크립트로 작성된 파일을 찾아야합니다. 스크립트가 작동하고 일부 로그, txt, 다른 파일에 쓰고, 정확하게 어떤 파일이 관련되어 있는지 찾고 싶습니다. 가능한가? 다음이 생성 된 이후에 수정 된 모든 파일을 찾아리눅스에서 지금 작성된 파일을 찾는 방법은 무엇입니까?

touch temp.cnewer -t 201012091145 

과 :

은 내가 먼저 특정 타임 스탬프 파일 temp.cnewer을 생성하여, 발견과 그것을 시도

find/-type f -newer temp.cnewer 

그러나 너무 많은 결과를 보여줍니다.

Access: 2010-12-09 18:09:14.214730466 +0000 
Modify: 2010-12-09 18:09:14.214730466 +0000 
Change: 2010-12-09 18:09:14.214730466 +0000 

이 사람들을 선택하는 다른 방법이 있나요 ... : 나는 그들 중 몇 가지에 대한 통계를 선택하면 그것은 (시스템 시간이 정확한지, 그것이 일어날 방법을 모른다) 그 수정 시간이 미래 시간을 보여줍니다 파일?

+0

지금까지 해결책은 다음과 같습니다. 나는 터치로 2 개의 파일을 생성하고 시간 간격 (예 : 6 분)을 만들고이 시간 간격으로 해당 스크립트를 시작하고 중지합니다. touch now.start -t 201012101022; touch now.end -t 201012101028. 10-22와 10-28 사이에서 그 스크립트 (모든 로그를 만들고 필요한 파일을 열고 닫음)를 시작하고 중지 한 다음 찾기/수정으로 수정 된 파일을 찾습니다. newer now.start -and -not -newer now.end – lugger1

답변

2

수정 시간이 UTC (시간대 +0000) 인 것으로 보입니다. 이것이 미래의 것으로 보입니다. 나는 touch -t도 UTC를 사용한다고 믿는다. 이것은 추가 결과를 설명 할 것이다. UTC를 사용하여 temp.cnewer 파일의 수정 시간을 설정하면 원래 방법이 정상적으로 작동합니다.

1

그것은 여전히 ​​찾을 수있는, 열려있는 파일이 스크립트의 PID 다음

LS -l/proc 디렉토리/PIDNUMBER/FD

4

파일이 열려 보관되는 시간에 따라 lsof 명령 당신이 원하는 것을 할 수 있습니다. 또 다른 옵션은 strace 아래에서 실행하고 파일 시스템 호출을 찾습니다.

+0

문제는 스크립트 자체가 로그를 작성하고 프로세스가 자체 로그를 작성하기 시작하는 것이므로 모두 필요합니다. – lugger1

+1

strace -F가 포크 등을 따릅니다. – Metiu

관련 문제