Linux

crontab 無法發送電子郵件

  • August 17, 2014

我在 VPS 主機上執行 CentOs 6.5。我使用以下命令安裝了 crontab 和電子郵件

yum install vixie-cron
service start crond
chkconfig crond --levels 235 on

yum install sendmail
service start sendmail
chkconfig sendmail --levels 235 on

現在,因為我希望我的 VPS 每隔 5 分鐘(用於測試)向我發送關於我的伺服器狀態的電子郵件,我找到了一個執行此操作的腳本(第 5 個範例),或者您可以在下面看到它:

MAX=95
EMAIL=USER@domain.com
PART=sda1
USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
if [ $USE -gt $MAX ]; then
 echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
fi

我使用 curl 從給定的 URL下載了腳本,並修改了 EMAIL 以反映我的電子郵件帳戶。

現在,我做的最後一件事是,把上面的 shell 腳本放進/home/user/status.sh 去,告訴 cron tab 每五分鐘執行一次。

$ crontab -e
*/5 * * * * /home/user/status.sh

我認為這足以收到電子郵件,但我沒有收到任何電子郵件。我的電子郵件帳戶沒有問題。可能是什麼問題呢?

附加資訊:

  1. 我有root訪問權限。以防萬一你認為我沒有。
  2. 這是我的 cron 日誌

$$ root@user log $$#tail /var/log/cron 8 月 17 日 15:15:31 站點名稱執行部分(/etc/cron.daily)$$ 526 $$:完成 makewhatis.cron 8 月 17 日 15:15:31 站點名稱 anacron$$ 29624 $$:作業“cron.daily”於 8 月 17 日 15:20:01 終止站點名稱 CROND$$ 622 $$: (root) CMD (/home/user/status.sh) 8 月 17 日 15:25:01 站點名稱 CROND$$ 744 $$: (root) CMD (/home/user/status.sh)

  1. 還有我的郵件日誌 在此處輸入圖像描述

這是整個劇本嗎?如果第一行不存在,則沒有“shebang”行添加#!/bin/bash到第一行。您還標記了文件執行檔嗎?

引用自:https://serverfault.com/questions/621996