모든 메일함을 지우기 위해 cron을 구축하는 방법은 무엇입니까?

모든 메일함을 지우기 위해 cron을 구축하는 방법은 무엇입니까?

저는 유닉스를 처음 접했습니다.

일부 메일함은 엄청난 양의 공간을 차지하고 있어서 메일함에 30일 동안 보관된 모든 메일을 삭제하는 방법을 찾으려고 노력 중입니다. 내가 찾은 것의 대부분은 단 하나의 사서함과 관련되었습니다.

나는 아직 이것에 대해 많은 일을 하지 않았습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

가능한 사용자와 다른 보호된 사용자를 제외한 모든 사서함 내용을 지우려면 root다음과 같이 사용할 수 있습니다.

for mbox in $(ls /var/spool/mail/*|grep -v -e root -e protecteduser);do >${mbox};done

매월 1일에 실행되도록 cron에서 예약합니다.

crontab -e 

crontab 끝에 다음 줄을 삽입합니다.

0 2 1 * * /path/to/mailbox/cleaner/script 

이렇게 하면 스크립트가 매월 1일 오전 2시에 실행됩니다.

반면에 각 사서함에서 30일이 지난 메시지를 정리해야 하는 경우에는 완전히 다른 접근 방식이 필요합니다. 이것이 의도된 것이라면 원본 게시물을 업데이트하세요.

관련 정보