我有一个需要作为 cron 作业运行的脚本。
在暂存环境中,我可以将脚本作为 cronjob 运行。但在生产环境中,它不起作用,
所以我检查了 cron 守护程序是否在生产上运行
ps -ax|grep cron
但是这个命令给了我以下错误消息。
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
4120 ? Ss 0:06 crond
13640 pts/6 S+ 0:00 grep cron
有人能解释一下这个命令有什么问题吗
# housekeeper script
* * * * * sh /product/abc/tools/housekeeper.sh -t x
答案1
无论如何,你不需要sh
cron 使用 sh 运行脚本。将脚本的输出捕获到文件中,然后查看它的内容
* * * * * /product/abc/tools/housekeeper.sh -t x >/tmp/file.out 2>&1
此外,cron 会将错误通过电子邮件发送给运行脚本的用户,因此请检查他们的邮件。如果您需要进一步的帮助,请发布任何相关信息。
答案2
尝试将其放入/product/abc/tools/housekeeper.sh -t x
bash 脚本文件中,如下所示:
\#!/bin/sh
/product/abc/tools/housekeeper.sh -t x
我知道这是一种丑陋的黑客行为,但 cron 有时会在命令参数方面出现问题。
创建文件后将作业添加到 cron
* * * * * /dir/to/that/scriptfile.sh