crontab命令说权限被拒绝

我在cent-OS服务器上工作。 我有两个脚本来运行cron。 脚本是在PHP中,我有一个Apache模块安装在cent-OS上。 一个脚本应该每天下午6点运行,其他每个星期四运行。 我的cron命令是:

00 18 * * * lynx -dump http://domain/folder1/script1.php //every Day 00 02 * * 5 lynx -dump http://domain/folder1/script2.php //every Thursday at 2am 

我写了我的/etc/crontab文件中的两行,并试图执行它

 [root@domain ~]# /etc/crontab crontab -bash: /etc/crontab: Permission denied 

在网上search,但没有解决scheme。 任何想法我失踪?

crontab不是一个可执行文件。 cron使用它来知道什么时候应该安排工作。

/etc/crontab不可执行(因此错误)

您的crontab文件无效(不允许使用C或Java风格的注释):

从手册页:

第一个非空格字符是井号(#)的行是注释,并且被忽略。 请注意,注释与cron命令不在同一行,因为它们将被视为命令的一部分。 同样,不允许在环境variables设置的同一行注释。

你应该写这样的东西:

 # every day 0 18 * * * lynx -dump http://domain/folder1/script1.php > /tmp/somefilename 

请注意, lynx -dump只会将页面打印到标准输出。 如果你想把它存储在某个地方,你需要将输出redirect到一个文件(参见示例)

看看它的工作是否等到00:18,或者为了testing的目的使用更近的时间

任何想法我失踪?

不多。 你在一个错误的城市进了一扇错误的门,在一个错误的日子与一个错误的人交谈。 除此之外,一切都如预期。 😉

1)你不应该通过在行尾附加//评论你的crontab行。 相反,像这样做:

 # every day 00 18 * * * lynx -dump http://domain/folder1/script1.php # every Thursday at 2am 00 02 * * 5 lynx -dump http://domain/folder1/script2.php //every Thursday at 2am 

2)您计划每天在18:00和每周四凌晨2点运行任务。 如果你试图在这些时间窗口以外的地方运行crontab,cron只会检查它是否有事情做,如果没有,它就会退出。

3)如果cron试图在预定的时间内运行你的脚本,你是否从/var/log/cron检查过?

4)克伦对path很挑剔。 尝试提供一个完整的lynx pathpath,很可能在你的情况下/usr/bin/lynx

5)正如别人所说, /etc/crontab只是一个文本文件,而不是一个可执行文件。 Cron守护进程将检查/etc/crontab和每个用户cron文件的内容,并执行一些操作,如果是的话。