디스크 공간이 90%에 도달하면 자동으로 로그를 삭제하는 쉘 스크립트를 개발했습니다.
이 쉘 스크립트를 crontab 작업에 추가할 수 있습니다.
답변1
스크립트를 작성하는 데 시간을 소비하는 대신 파일을 압축하고 오래된 로그를 적게 유지하는 것이 더 좋지 않습니까?이것이 logrotate가 존재하는 이유입니다.
다음 logrotate.conf
과 같이 시작해야 합니다.
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
compress
# packages drop log rotation information into this directory
include /etc/logrotate.d
예를 들어 옵션 의 주석 처리를 해제 compress
하고 3으로 변경하여 rotate
디스크 공간에 맞는지 확인합니다. 또한 회사의 요구 사항을 충족해야 합니다. 법적인 이유로 로그인 정보를 18개월 동안 보관해야 하는 서버가 있으므로 로그인 파일을 매월 교체하도록 변경했습니다.
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 18
}
/var/log/btmp {
missingok
monthly
minsize 1M
create 0600 root utmp
rotate 18
}
파일이나 디렉터리를 가리키고 중괄호 사이에 매개변수를 넣으면 특정 회전 규칙을 만들 수 있습니다.
권한 있는 사용자가 아니신가요?. 루트 없이 실행되도록 구성할 수 있으므로 cron
이는 전혀 문제가 되지 않습니다 .logrotate