附加到输出 crontabs 的更好方法
Better method to append to output crontabs
所以我有简单的 shell 命令来 ping 网站以检索有关所述网站的数据。
例如我的一个 pinging.sh 看起来像这样:
ping -R -c 120 blar.org.cn >> pingdata.txt
ping -R -c 120 another.net >> pingdata.txt
但是我的 crontab 看起来像这样:
7 * * * ./pinging.sh >> pingdata.log
pingdata.log不输出。最好是通过 crontab 还是通过脚本来完成?我认为 crontab 会更好,因为它会覆盖整个脚本,而不必多次写出来。
您需要在 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 语法
首先,可执行文件必须在 cron 中作为完整路径提供。
示例:
7 * * * * /bin/bash /path/to/pinging.sh
其次,为 pinging.sh 创建包装脚本 >> pingdata.log 并将其添加到 crontab。
第三,你的crontab入口是错误的。必须有 5 个字段,而你的有 4 个(可能是打字错误?)
所以我有简单的 shell 命令来 ping 网站以检索有关所述网站的数据。
例如我的一个 pinging.sh 看起来像这样:
ping -R -c 120 blar.org.cn >> pingdata.txt
ping -R -c 120 another.net >> pingdata.txt
但是我的 crontab 看起来像这样:
7 * * * ./pinging.sh >> pingdata.log
pingdata.log不输出。最好是通过 crontab 还是通过脚本来完成?我认为 crontab 会更好,因为它会覆盖整个脚本,而不必多次写出来。
您需要在 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 语法首先,可执行文件必须在 cron 中作为完整路径提供。 示例:
7 * * * * /bin/bash /path/to/pinging.sh
其次,为 pinging.sh 创建包装脚本 >> pingdata.log 并将其添加到 crontab。
第三,你的crontab入口是错误的。必须有 5 个字段,而你的有 4 个(可能是打字错误?)