여러 파일의 액세스 시간을 업데이트하는 쉬운 방법

여러 파일의 액세스 시간을 업데이트하는 쉬운 방법

여러 하위 폴더와 파일이 포함된 폴더가 있습니다. 저는 서버에서 작업하는데 60일이 지난 파일은 자동으로 삭제됩니다. 이러한 삭제가 발생하지 않도록 파일의 액세스 시간(atime)을 업데이트하는 간단한 명령은 무엇입니까(때때로 60일 이상 파일을 사용하지 않고 모든 파일에 대한 액세스 시간을 설정하는 것이 고통스럽습니다). 폴더를 다시)?

나는 매우 조잡한 방법을 생각했습니다.

vim *
vim */* ... and so on

모든 하위 폴더를 열고 :q로 닫습니다. 그러나 이것은 또다시 지루한 과정이다. 스크립트를 설정하는 방법이나 vim 이외의 다른 것을 사용하는 방법에 대한 아이디어가 있습니까?

답변1

touch-- 파일 액세스 및 수정 시간 변경

터치(1)

참고: touch *이 작업을 수행할 수는 있지만 하위 디렉터리로 재귀되지 않으며 *파일이 없으면 이름이 지정된 파일이 생성됩니다. 보다 강력한 솔루션은 다음을 사용하는 것입니다.

find /path/to/root_dir/ -exec touch -a {} \;

또한 디렉토리의 수정 시간만 업데이트하려는 것 같습니까? 해당 서버의 삭제 정책은 공간을 절약하기 위한 것이고 유지하고 싶지 않기 때문에 이것이 더 나을 수 있습니다.모두단지 몇 가지를 저장하기 위해 블라인드 파일을 사용합니다. 디렉토리만 터치하려면 다음을 수행할 수 있습니다.

find /path/to/root_dir/ -type d -exec touch -a {} \;

참고: touch별도의 옵션을 설정하지 않을 경우 접속 시간과 수정 시간이 모두 현재 시간으로 수정되며, -a접속 시간만 업데이트됩니다.

또한 어떤 파일이 삭제될지 보여주는 명령을 원할 경우 다음과 같은 명령을 실행할 수 있습니다.

find /path/to/root_dir/ -atime +55

그러면 /path/to/root_dir/55일 이상 액세스한 모든 파일이 나열됩니다. 이는 어떤 파일이 곧 최대 수명에 도달하는지 알려 주는 데 도움이 될 수 있습니다. 55더 자세히 확인하고 싶으시면 다른 번호로 변경하시면 됩니다.

관련 정보