如何设置cron作业来运行shell脚本?

我设置了一个cron工作:

20 * * * * /usr/bin/sh /home/lucky/myfile.sh 

主要问题是在计划时间,出现错误:“邮件已发送到/ var / spool / mail / lucky”。

myfile.sh的内容是:

 mkdir jh cd jh 

对于设置为cron作业的脚本,这不适用:

 mkdir jh cd jh 

您应该给出必须创建jh目录的完整路径。 此外,在此路径中,您应该有权创建新文件/目录。

例如,您的脚本应如下所示:

 #!/bin/sh mkdir /home/lucky/jh cd /home/lucky/jh 

另外/usr/bin/sh不是/usr/bin/sh的正确路径。 正确的路径是/bin/sh 。 您可以使用whereis sh命令进行检查。 即便如此,您的cron工作应该如下:

 20 * * * * /home/lucky/myfile.sh 

不要忘记使脚本可执行:

 chmod +x /home/lucky/myfile.sh 

这似乎是创建文件夹的路径是/ 。 这是因为crontab需要文件夹的完整路径以及它执行的所有文件中的文件。

所以myfile.sh中的路径应该是

mkdir /jh

cd /jh

20 * * * * /usr/bin/sh /home/lucky/myfile.sh这行是正确的虽然您应该检查路径以查看/ usr / bin / sh是否存在sh(使用which sh来查看sh存在的路径;我的是/ bin / sh)

如果你急于开始编写crontab,这个链接有很好的例子

http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/