我有一个脚本,我写了一个OS X机器(v 10.7.4),如果一个卷是上或下来validation。 如果发生故障,应该发送一封电子邮件。 当我从命令行运行脚本时,它完美地工作,并显示我的控制宗卷(DGS_Ima_ASDF_ges_MTL)在我收到的电子邮件中。 但是,如果我在crontab中安排脚本,则表示我收到的电子邮件中的所有卷都已closures,包括我的控制卷。 有人可以告诉我如何解决这个问题。 这是我的脚本:
#!/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 protected] 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
其次,将cronconfiguration为将脚本的输出logging到日志文件,以便您可以通过在cron作业行本身旁边添加以下内容进一步对其进行故障排除:
&> /path/to/log.txt