Mac-Osx
腳本不能作為 cron 工作
我有一個腳本,用於在 OS X 機器(v 10.7.4)上驗證音量是向上還是向下。如果它發生故障,它應該發送一封電子郵件。當我從命令行執行腳本時,它執行良好,並在我收到的電子郵件中顯示我的控制量 (DGS_Ima_ASDF_ges_MTL) 已關閉。但是,如果我在 crontab 中安排腳本,它會在我收到的電子郵件中顯示我所有的音量都已關閉,包括我的控制音量。有人可以告訴我如何解決這個問題。這是我的腳本:
#!/bin/bash array=("Chatelaine" "DGS_Ima_ASDF_ges_MTL" "FMC_MTL" "GF_MTL" "Holding_Tank_MTL" "LACM_MTL" "LAP_MTL" "actualite" "Loulou" "Loulou_Web" "MQC_MTL" "PS_MTL" "QP_MTL" "Visuels_MTL") EMAIL_ADDRESSES=here.now@there.com SAVE_TO=~/Documents/drives_not_mounted CRONTAB_CONFIG=~/Documents/crontab_paramaters rm $SAVE_TO for counter in ${!array[*]} do mount | grep ${array[counter]} if [ $? -ne 0 ]; then echo "${array[counter]}" >> $SAVE_TO fi done ls ~/Documents | grep drives_not_mounted if [ $? -eq 0 ]; then mailx -s "Mounted volumes are down" "$EMAIL_ADDRESSES" < $SAVE_TO fi exit;
首先,將以下 PATH 行添加到您的 crontab 文件中:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
其次,配置 cron 以將腳本的輸出記錄到日誌文件中,以便您可以進一步對其進行故障排除,方法是在 cron 作業行本身旁邊添加以下內容:
&> /path/to/log.txt