한동안 파일 서버를 보관하는 방법을 찾고 있었지만 아직 제대로 작동하는 솔루션을 찾지 못했습니다. 목표는 지난 x일 동안 수정되지 않은 파일에 대한 디렉터리와 하위 디렉터리를 검색하는 것입니다. 상위 디렉터리나 그 하위 디렉터리에서 파일을 찾을 수 없으면 전체 상위 디렉터리를 보관해야 합니다(또는 최소한 화면에 인쇄해야 합니다). 어떤 제안이라도 감사하겠습니다! 안녕 존
답변1
간단한 대답은 다른 파일보다 최신인 파일을 찾는 find 명령의 "newer" 매개변수를 사용하는 것입니다. 우리가 원하는 것은 실제로는 반대이기 때문에 수정된 파일(즉, 업데이트된 파일)을 세고 아무것도 발견되지 않으면 디렉터리 이름을 인쇄하는 스크립트가 필요합니다.
DATE=`date -d "-30 days"` #Calculate a date 30 days before today
touch -d "$DATE" /tmp/newer #Create a temp file with the calculated date
#Assume we're passing in a list of directories
#We could just as easily find any directory below a certain point without
#newer files by setting DIR=`find /what/ever/directory -type d`
for DIR in $*
do
MOD=`find "$DIR" -newer /tmp/newer | wc -l` #Count the number of newer files
if [ "$MOD" -eq 0 ]
then
echo $DIR # Nothing new in 30 days - Print the name of the Dir
fi
done