SHELL=/bin/bash......0 */3 * * * /var/maintenance/raID.sh
和bash脚本/var/maintenance/raID.sh:
#!/bin/bashecho -n "Checking /dev/md0... "if ! [ $(mdadm --detail /dev/md0 | grep -c "active sync") -eq 2 ]; then mdadm --detail /dev/md0 | mail -s "RaID problem /dev/md0" "[email protected]"; echo "ERROR"else echo "ALL OK"fi;#-------------------------------------------------------echo -n "Checking /dev/md1... "...
而这就是…
邮件与mdadm –detail / dev / md0输出发送到我的电子邮件(正确的行为)
…由cron执行:
空白邮件发送到我的电子邮件(主题在那里,但没有消息)
为什么会出现这种差异以及如何解决?
解决方法 如 in the comments所示,请在crontab脚本上使用完整路径,因为crontab确实具有与普通用户不同的环境变量(在本例中为root).在你的情况下,/ sbin / mdadm代替mdadm.
如何获得命令的完整路径?使用以下命令:
$which rm/bin/rm总结
以上是内存溢出为你收集整理的linux – Bash脚本在从shell提示符执行时产生的结果与cron执行的结果不同全部内容,希望文章能够帮你解决linux – Bash脚本在从shell提示符执行时产生的结果与cron执行的结果不同所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)