所以我有简单的shell命令来ping网站以检索有关所述网站的数据。
例如我的一个pinging.sh看起来像这样:
ping -R -c 120 blar.org.cn >> pingdata.txt
ping -R -c 120 another.net >> pingdata.txt
然后我的crontabs看起来像这样:
7 * * * ./pinging.sh >> pingdata.log
pingdata.log没有输出。最好通过crontab或脚本来完成吗?我认为crontab会更好,因为它会覆盖整个脚本而不必多次写出来。
答案 0 :(得分:0)
您需要在cronjob中指明脚本的完整路径,以及运行它的二进制文件。
例如:
7 * * * * /bin/sh /home/you/pinging.sh >> /home/you/pingdata.log
另请注意,您只需向cronjob添加4个参数,而您至少需要5个:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
您可以使用Crontab guru(---> http://crontab.guru/)测试您的cron语法。
答案 1 :(得分:0)
首先,必须在cron中将可执行文件作为完整路径提供。 例如:
7 * * * * /bin/bash /path/to/pinging.sh
其次,为 pinging.sh>>创建包装脚本。 pingdata.log 并将其添加到crontab。
第三,你的crontab条目是错误的。必须有5个字段,而你的有4个字段(也许这是一个错字?)