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
文件将给出输出错误。