Cron 작업의 이메일 출력을 제한하는 방법

Cron 작업의 이메일 출력을 제한하는 방법

사이트 파일이 백업되었는지 알 수 있도록 매일 이메일을 보내도록 cpanel에서 크론 작업을 설정했습니다. 그러나 전체 파일 경로와 전체 작업을 이메일로 보냅니다. 내가 받은 이메일 출력의 일부입니다.


tar: 멤버 이름 /home/user/public_html/
/home/user/public_html/test/ /home/user/public_html/test/index.html에서
선행 "/"를 제거합니다.

작업이 완료되면 이와 같은 간단한 메시지를 이메일로 보내기를 원합니다. 02:00에 파일이 성공적으로 백업되었습니다.

현재 예약된 작업: tar -cvpzf /home/user/backups/backup_files.tar.gz /home/user/public_html

참고: 이 크론 작업은 제대로 작동하며 백업이 가능합니다. 모든 파일 경로가 포함된 전체 작업이 이메일로 전송되는 것을 원하지 않습니다(그러나 기본 알림은 원함).

다른 사이트에서는 PHP 백업 스크립트를 사용하지만 이 사이트에서는 PHP가 너무 큰 백업 파일을 처리할 수 없다고 생각하기 때문에 작동하지 않습니다. 최종 tar.gz 파일은 4GB 미만입니다.

어떤 지침이라도 감사하겠습니다.

답변1

-v(verbose) 옵션을 제거 하고 대신 tar명령의 종료 상태를 사용하여 보낼 메시지를 결정할 수 있습니다.

전임자. 가장 간단하게,

tar -cpzf /home/user/backups/backup_files.tar.gz /home/user/public_html && echo "Files successfully backed up at $(date)"

또는 (조금 더 자세히)

tar -cpzf /home/user/backups/backup_files.tar.gz /home/user/public_html; case $? in 0) echo "Files successfully backed up at $(date)" ;; *) echo "Backup failed" ;; esac

man tar0이 아닌 다양한 종료 상태 값의 의미 는 참고자료를 참조하세요 .

답변2

알림을 생성하는 프로세스를 파이핑하는 것이 좋습니다.

tail -n 

마지막을 분석하다N알겠습니다. 귀하의 이메일로 보내드리겠습니다.

관련 정보