Linux에서 정시 작업을 사용하여 매주 정시 45일 이전 로그를 정리합니다

제목에서 보듯이 생산 서버는 매일 큰 로그 파일을 생성하는데 하드디스크가 로그 파일로 가득 차지 않도록 정기적으로 로그 파일을 정리해야 한다.이 때 우리는 셸 스크립트를 써서 어떤 경로에서 45일 전의 로그를 정리한 다음, 매주 정해진 시간에 이 스크립트를 실행하도록 설정하면 된다
(1) 경로 아래의 로그 스크립트 delOldLogs를 정리합니다.sh:
[root@prx01 cleanlog]# vim /usr/local/cleanlog/delOldLogs.sh
#!/bin/sh

#             45        
find $1 -mtime +45 -name "*log*" -exec rm -f {} \;

이 코드는 이해하기 어렵지 않다. 매개 변수 1이 있는 경로에서 수정된 시간이 45일 전의 로그 파일을 정리하는 것이다
(2) 로그를 정리할 경로를 지정하는 스크립트delall_OldLogs.sh:
[root@prx01 cleanlog]# vim /usr/local/cleanlog/del_all_OldLogs.sh
#!/bin/bash

/usr/local/cleanlog/delOldLogs.sh "/home/usr/ewp/logs"
/usr/local/cleanlog/delOldLogs.sh "/home/usr/h5/logs"
/usr/local/cleanlog/delOldLogs.sh "/home/usr/Payment/logs"

(3) 스크립트에 실행 권한을 추가하려면 다음과 같이 하십시오.
[root@prx01 cleanlog]# chmod a+x /usr/local/cleanlog/del*.sh

(4) 타이밍 작업 추가:
[root@prx01 cron]# vim /var/spool/cron/root

다음을 추가합니다.
10 0 * * 6 /usr/local/cleanlog/del_all_OldLogs.sh

참고:
  • 권한이 부족한 상황을 방지하기 위해 루트 사용자의 정시 작업
  • 을 설정합니다.
  • 이 코드의 뜻은 매주 6의 0:10에/usr/local/cleanlog/delall_OldLogs.sh 이 스크립트
  • Linux의 타이밍 작업에 익숙하지 않다면 제가 쓴 이 글을 참고하시기 바랍니다.http://www.zifangsky.cn/591.html
    (5) 정시 작업을 보려면 다음과 같이 하십시오.
    [root@app05 logs]# crontab -l

    좋은 웹페이지 즐겨찾기