웹사이트 검색

Linux에서 루트 메일(사서함) 파일을 삭제하는 방법


일반적으로 Linux 메일 서버에서는 시간이 지남에 따라 /var/spool/mail/root 파일의 크기가 여러 프로그램, 서비스 및 기본적으로 알림을 보내도록 구성된 데몬에 미치는 영향이 상당히 커질 수 있습니다. 루트 계정 사서함.

루트 메일함 파일의 크기가 상당히 커지면 디스크나 파티션 공간을 확보하기 위해 파일을 삭제하는 몇 가지 조치를 고려해야 합니다.

그러나 실제로 루트 메일 메시지를 삭제하기 전에 먼저 모든 루트 메일을 읽어 중요한 이메일이 삭제되지 않도록 하십시오. 콘솔에서는 시스템에 root로 로그인하고 메일 명령을 실행하면 루트 계정 사서함을 자동으로 열어 읽을 수 있습니다. mail 명령줄 유틸리티가 시스템에 없으면 아래 명령을 실행하여 mailx 또는 mailutils 패키지를 설치하세요.

yum install mailx          [On CentOS/RHEL/Fedora]
apt-get install mailutils  [On Debian/Ubuntu]

루트 계정 메일 파일을 삭제하는 가장 간단한 방법은 Linux stdout 파일 리디렉션을 사용하는 것입니다. 이렇게 하면 아래 예에 표시된 것처럼 메일함 파일이 잘립니다.

> /var/spool/mail/root

루트 계정 메일함 파일을 자르는 데 사용할 수 있는 다른 변형은 다음과 같이 cat 명령을 사용하여 /dev/null 특수 Linux 파일(Linux 블랙홀 파일)의 내용을 읽고 출력을 루트 메일함 파일로 리디렉션하는 것입니다. 아래 예에 나와 있습니다. /dev/null 파일의 내용을 읽으면 즉시 EOF(파일 끝)이 반환됩니다.

cat /dev/null > /var/spool/mail/root

파일을 자른 후 cat 명령, more 또는 less 명령을 사용하여 루트 계정 메일함 파일의 내용을 검사하여 파일 내용이 성공적으로 지워졌는지 확인합니다.

less 명령은 파일의 END를 즉시 반환해야 합니다.

아래 그림과 같이 매일 자정에 실행되는 crontab 작업을 추가하여 루트 계정 사서함 파일을 자르는 프로세스를 자동화할 수 있습니다.

0 0 * * *  cat /dev/null > /var/spool/mail/root 2>&1 > truncate-root-mail.log

그게 다야! 루트 사서함을 삭제하는 다른 방법을 알고 있다면 아래 댓글 섹션을 통해 공유해 주세요.