请考虑下面的crontab(root):
SHELL=/bin/bash ... ... 0 */3 * * * /var/maintenance/raid.sh
和bash脚本/var/maintenance/raid.sh :
#!/bin/bash echo -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... " ...
这是什么时候发生…
…从shell提示符(bash)执行:
Ubuntuterminal – 使用gnu并行读取文件夹中所有文件的行
限制由incrond产生的并发进程的数量
有没有任何命令通常用于在bash shell脚本中比较时间?
邮件与mdadm --detail /dev/md0输出发送到我的电子邮件(正确的行为)
…由cron执行:
为什么这样的区别,以及如何解决它?
检查指定名称的屏幕是否存在
如何通过文件typesrecursion地find文件,并在ssh中将其复制到目录中?
如何在父shell和子shell之间使用相同的bashvariables
无法获得Python版本使用python – 版本在Linux上与python使用Popen
如注释中所示 ,请在crontab脚本上使用完整路径,因为crontab具有与普通用户不同的环境变量(在本例中为root)。
在你的情况下,而不是mdadm , /sbin/mdadm 。
如何获得命令的完整路径? 使用以下命令:
$ which rm /bin/rm
cron任务运行在没有运行登录脚本的情况下启动的shell,其中设置了路径,环境变量等。
在构建cron任务时,更喜欢绝对路径和显式选项等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。