![다른 위치의 로그를 삭제하려면 쉘 스크립트를 사용해야 합니다.](https://linux55.com/image/123383/%EB%8B%A4%EB%A5%B8%20%EC%9C%84%EC%B9%98%EC%9D%98%20%EB%A1%9C%EA%B7%B8%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
이름이 다른 로그는 다른 위치에서 삭제해야 하며, 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