파일 제거 정책을 피하기 위해 Unix에서 파일을 수정하는 방법은 무엇입니까?

파일 제거 정책을 피하기 위해 Unix에서 파일을 수정하는 방법은 무엇입니까?

우리 클러스터에는 30일 이내에 수정되거나 액세스되지 않은 모든 파일은 삭제된다는 정책이 있습니다. 프로젝트가 실행 중이고 완료될 때까지 모든 파일을 보관하고 싶습니다. 다음을 수행하여 시스템을 속일 수 있습니까?

find ./ -type f -exec touch {} +

이것을 시도해 보았는데 타임스탬프가 변경된 것 같습니다. 하지만 이렇게 하면 시스템이 파일이 실제로 수정되었다고 생각하게 될까요?

답변1

물론 이것은 작동해야합니다.

하지만 "stat" 명령을 확인해보면 확실할 수 있습니다.

sh-4.3$ stat test.csv                                                              
File: 'test.csv'                                                                 
Size: 871             Blocks: 8          IO Block: 4096   regular file           
Device: 20fd4bh/2161995d        Inode: 8389896     Links: 1                        
Access: (0644/-rw-r--r--)  Uid: ( 1000/      cg)   Gid: ( 1000/      cg)           
Access: 2016-01-06 05:29:32.220197637 +0000                                        
Modify: 2016-01-06 05:29:32.220197637 +0000                                        
Change: 2016-01-06 05:29:32.220197637 +0000                                        
Birth: -                                                                          
sh-4.3$                                                                            

답변2

정책이 실제로 "30일 동안 수정되거나 액세스되지 않은 파일"인 경우 touch -a일반 touch. 이것의 장점은 수정 시간을 깨지 않으므로 빌드 스크립트가 깨지지 않고 계속해서 수정 시간을 사용하여 해당 파일 버전의 수명을 나타낼 수 있다는 것입니다.

파일의 액세스 시간을 보는 데 사용할 수 있습니다 ls -lu.

관련 정보