11

我是 cron 工作的新手。我读了一篇关于如何使用 crontab 编写 cron 作业的帖子。所以我的 crontab 看起来像这样:

1 * * * * /Users/apple/Desktop/wget/down.sh

这基本上意味着每分钟我都想执行脚本:down.sh。现在脚本手动运行良好。该脚本是一个从 Internet 下载 PDF 的简单程序:

#!/bin/bash

wget -U Mozilla -t 1 -nd -A pdf "http://www.fi.usj.edu.lb/images/stories/HoraireS08/3eli.pdf" -e robots=off;

一旦终端告诉我他正在安装新的 crontab,我不知道为什么它不是每分钟都运行。

有人可以帮我吗?

解决方案:谢谢大家的帮助,如果你希望它每小时执行一次, mcalex所说的语法应该是 * */1 * * * path/to/script。cron作业正常工作。但是我的错误只是写权限,实际上在执行wget命令时,它应该在当前workind目录中写入pdf文件,该目录是cron选项卡的系统目录。所以我只需在执行 wget 命令之前导航到桌面目录即可解决我的问题,如下所示:

cd /Users/apple/Desktop/wget

然后做任何我想做的事。PS:我也应该包含 wget 命令的完整路径。

再次感谢大家的帮助:)

4

5 回答 5

16

当您将 1 放入第一列时,它将在第一分钟(每小时)运行。为了让它在每小时的每一分钟内运行,您需要将分钟列设置为 */1

所以你的行应该是:

*/1 * * * * /Users/apple/Desktop/wget/down.sh

支持链接: 每分钟作业: https
://bbs.archlinux.org/viewtopic.php?id= 59180 每 5 分钟作业: http ://www.thegeekstuff.com/2011/07/cron-every-5-minutes /

于 2012-11-08T08:56:25.340 回答
6

1 * * * * /Users/apple/Destop/wget/down.sh

从这个条目开始,脚本永远不会每分钟运行一次,因为它会在每小时的第一分钟运行。

对您的 crontab 文件进行此更改,以每分钟运行一次此脚本。

“* * * * * /Users/apple/Destop/wget/down.sh”

于 2012-11-08T06:05:37.280 回答
5

你有错字吗?看起来您可能输错了桌面?

另一件事是将运行脚本的输出重定向到一个文件,这样你就可以看到发生了什么:

1 * * * * /Users/apple/Destop/wget/down.sh >> /tmp/cron.out

然后检查文件以查看发生了什么。

于 2012-11-08T00:45:31.357 回答
4

如果您的 cronjob 正在将内容写入磁盘,请注意未选中系统首选项“尽可能让硬盘进入睡眠状态”。

这阻止了我的 cronjob 备份任务执行。

于 2014-08-29T16:38:48.233 回答
3
  • cron 是否向您发送了一些电子邮件,详细说明出了什么问题?
  • 该路径下的脚本是否存在?
  • 请注意,cron 用于/bin/sh执行命令。
  • PATH您是否在脚本中设置了正确的?wget可能不是默认值PATH,也可能根本没有PATH。尝试/path/to/wget在脚本中使用。

请注意,每分钟下载一次相同的 PDF 文件可能是一个愚蠢的想法,尽管......

于 2012-11-08T00:53:27.960 回答