cron 출력을 이메일 주소로 보내려고 하는데 문제가 발생했습니다... 다음을 실행 중입니다.
13 15 * * 1-5 root /path/to/mysql-backup.sh 2>&1 | mail -s "Daily Database Backup Report" [email protected]
이 오류가 표시됩니다./var/mail/root
/usr/bin/mail: line 1: syntax error near unexpected token `('
/usr/bin/mail: line 1: `Config file not found (-s)'
cron을 확인/실행하려고 시도한 결과입니까?
서버에서 이런 일을 하고 있나요? 그렇다면 어떻게 해야 할까요?
답변1
내 경험상 /usr/bin/mail
이진 실행 파일이지만 시스템에서는 셸이 이를 로드하고 해석하는 것처럼 보입니다. syntax error near unexpected token
는세게 때리다진단.
실행 파일을 덮어쓰면 이런 일이 발생할 수 있습니다. /usr/bin/mail
"구성 파일을 찾을 수 없음(-s)" 텍스트로 덮어쓰면 실행하려고 할 때 해당 텍스트가 셸에 공급될 수 있습니까 ?
답변2
시도해 봤어?우편작동한다면? 또는 bash 스크립트 자체 내에서 이메일을 보낼 수 있는지 확인하세요.
답변3
"/path/to/mysql-backup.sh" 스크립트의 결과는 바이너리이고 Mail에서 오류가 발생한 이유는 바이너리 출력을 인코딩하지 않고 파이프할 수 없기 때문인 것 같습니다.
명령줄에서 파일을 첨부하는 좋은 방법은 다음 mutt
토론을 참조하세요.Linux 명령줄을 사용하여 이메일 첨부 파일로 파일을 보내는 방법.