이름이 다른 로그는 다른 위치에서 삭제해야 하며, 5일보다 오래된 로그는 삭제해야 합니다.
전임자:
/abc/bcd/fgh/log/log1.txt
/abc/bcd/fgh/test/log2.log
/test/urc/mhg/event.log
/hjy/jghd/qwer/nbcvd/eda.log
답변1
너는 좀 봐야 해로그 회전이러한 작업을 자동화하도록 설계되었습니다. 구성 파일을 생성하고 로그의 위치와 처리 방법을 알려주면 로그를 예약하고 회전/삭제합니다.
답변2
이 스크립트를 crontab에 추가하세요
#!/bin/bash
LogArray=()
LogArray+=('/abc/bcd/fgh/log/log1.txt')
LogArray+=('/abc/bcd/fgh/test/log2.log')
LogArray+=('/test/urc/mhg/event.log')
LogArray+=('/hjy/jghd/qwer/nbcvd/eda.log')
for (( i=${#LogArray[@]}-1; i>=0; i-- )); do
if test `find ${LogArray[$i]} -ctime +5`
then
truncate -s 0 ${LogArray[$i]}
chmod ""$(stat -c %a ${LogArray[$i]})"" ${LogArray[$i]}
fi
done
exit 0