지난 24시간 동안 새로 생성된(변경되지 않았거나 수정된) 파일과 삭제된 파일을 가져오는 방법

지난 24시간 동안 새로 생성된(변경되지 않았거나 수정된) 파일과 삭제된 파일을 가져오는 방법

다음 기능이 필요한 스크립트를 작성하고 싶습니다.

  1. 지난 24시간 동안 생성된 모든 파일을 나열합니다. find옵션과 함께 명령을 내리면 ctime변경된 모든 파일(권한 및 승자)이 나열됩니다.

    find . -ctime -1

    하지만 지난 24시간 동안 수정되거나 변경되지 않은 새 파일 목록이 필요합니다.

  2. 지난 24시간 동안 삭제된 모든 파일을 나열합니다. 파일을 삭제한 경우 이러한 파일 이름을 어떻게 얻을 수 있습니까?

  3. 파일의 생성 시간(생성 시간)을 가져오는 방법입니다. 명령에는 stat파일의 생성 시간을 제공하는 형식이 있습니다.

    %w Time of file birth, human-readable; - if unknown

    %W Time of file birth, seconds since Epoch; 0 if unknown

abc@123:# stat -c %w tzls.txt
-
abc@123:#

그러나 아무런 출력도 제공하지 않습니다. 내 리눅스 파일 시스템은 ext3입니다.

답변1

"created" 속성이 존재하지 않기 때문에 많은 Linux 파일 시스템에서는 이 작업을 직접 수행할 수 없습니다. 이 링크 중 일부를 읽어보고 싶을 수도 있습니다.

정말로 삭제된 파일을 찾아야 한다면만들어진지난 24시간 동안 일어난 일과 다르게 지난 24시간 동안생성 또는 변경, 두 가지 옵션이 있습니다:

find1 생성 날짜를 지원하는 파일 시스템으로 전환하고 와 의 조합을 사용하여 stat --format '%w'해당 파일 목록을 가져옵니다.

224시간마다 실행 find / -type f하여 현재 실행 결과와 마지막 실행 결과를 비교합니다. 다음과 같이 작동하며 24시간마다 실행됩니다.

#!/bin/bash
#
test -f /tmp/today && mv -f /tmp/today /tmp/yesterday
find / -type f | sort > /tmp/today
test -f /tmp/yesterday && comm -13 /tmp/yesterday /tmp/today

관련 정보