![모든 메일함을 지우기 위해 cron을 구축하는 방법은 무엇입니까?](https://linux55.com/image/84716/%EB%AA%A8%EB%93%A0%20%EB%A9%94%EC%9D%BC%ED%95%A8%EC%9D%84%20%EC%A7%80%EC%9A%B0%EA%B8%B0%20%EC%9C%84%ED%95%B4%20cron%EC%9D%84%20%EA%B5%AC%EC%B6%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 유닉스를 처음 접했습니다.
일부 메일함은 엄청난 양의 공간을 차지하고 있어서 메일함에 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일이 지난 메시지를 정리해야 하는 경우에는 완전히 다른 접근 방식이 필요합니다. 이것이 의도된 것이라면 원본 게시물을 업데이트하세요.