cronjob不起作用

* * * * * root bash /home/alan/Desktop/clientscript.sh > /home/alan/Desktop/alan.txt 

我需要输入clientscript.sh中的alan.txt输出但它在alan.txt上给出空输出我找不到错误是什么

这是行不通的尝试一些

这是创建live cd os ubuntu 18.04lts

确保使用以下方法创建cronjob:

 crontab -e 

当您运行上述命令时,您登录的用户将是执行cronjob的用户。 如果您希望以root用户身份运行cronjob,则需要以root用户身份登录或使用sudo命令:

 sudo crontab -e 

如果使用上面的命令创建作业,那么“root”部分将会破坏。 你的工作应该是这样的:

  * * * * * /bin/bash /home/alan/Desktop/clientscript.sh > /home/alan/Desktop/alan.txt 

始终在cronjobs中使用绝对路径,否则它们可能会中断。

正如PerlDuck所说:

如果以上是某些/etc/cron.d/文件中的cronjob,则根部分是必需的。 但只有在那里,正如你正确指出的那样。 /etc/cron.d下面的cronjobs就是所谓的系统cronjobs。 语法几乎相同,除非您必须在时间规范之后声明要在另一列中运行作业的用户。 当然,你必须是root用户才能在该目录中创建文件 – PerlDuck

因此,如果您在/etc/cron.d中手动创建cron文件,那么原始的cron作业将是正确的:

  * * * * * root /bin/bash /home/alan/Desktop/clientscript.sh > /home/alan/Desktop/alan.txt 

恕我直言,用crontab -e创建cronjobs要容易得多。

最后,您可以通过运行以下命令查看cronjobs的任何输出:

  grep CRON /var/log/syslog 

运行crontab -e并在其中放入以下行:

 */1 * * * * /home/alan/Desktop/clientscript2.sh 1> /dev/null 2> /home/alan/test.err 

在您的clientscript2.sh文件中输入以下内容:

 #!/bin/bash /home/alan/Desktop/clientscript.sh > /home/alan/Desktop/alan.txt 

这是每分钟运行一次。 如果命令不成功, test.err文件将给出输出错误。