我有Ubuntu并且正在用户“alex”下运行。我已经使用crontab以root身份运行以下bash脚本,但是它向我发送了一封电子邮件,看起来它没有正确运行,因为结果不存在:
/ dev / sda - Reallocated_Sector_Ct是
但是,如果我从webmin手动运行crontab作业,它可以正常运行。但是当它计划运行时,那就是它失败的时候。也许它不是真的以root身份运行?
这是我的代码:
#!/bin/bash
SMARTCHECK=`smartctl -a /dev/sda | grep "Reallocated_Sector_Ct" | awk 'NR==1 {print $10}'`
echo "/dev/sda - Reallocated_Sector_Ct is $SMARTCHECK"
if [ "$SMARTCHECK" != "0" ]; then
mail -s "Failing: /dev/sda" alex <<< "/dev/sda - Reallocated_Sector_Ct is $SMARTCHECK"
fi
谢谢!
答案 0 :(得分:1)
使用cron运行脚本有两种可能性:
/etc/crontab
。在这种情况下,它们以root身份运行。crontab -e
访问。在这种情况下,它们以用户的权限运行,并将命令添加到他的crontab。答案 1 :(得分:0)
cronjob脚本中的更多可能问题。
smartctl
检查你的系统是/ bin / bash,而不是/ usr / bin / bash,或者将cronjob设置为:
0 * * * *〜/ .profile; / usr / bin / bash YOUR_SCRIPT
检查alex帐户中的邮件,如果有任何错误消息可以找到。