我尝试了下面的命令后,crontab 就停止运行了任何作业:
echo "@reboot /bin/echo 'test' > /home/user/test.sh"| crontab -
在Linux中编写将任务添加到crontab的正确方法是什么?echo "@reboot /bin/echo 'test' > /home/user/test.sh"| crontab -
在Linux中编写将任务添加到crontab的正确方法是什么?我建议你阅读Cron和Crontab的使用和示例。
然后你可以运行这个:
➜ ( printf -- '0 4 8-14 * * test $(date +\%u) -eq 7 && echo "2nd Sunday"' ) | crontab
➜ crontab -l
0 4 8-14 * * test $(date +\0) -eq 7 && echo "2nd Sunday"
#!/bin/bash
cronjob="* * * * * /path/to/command"
(crontab -u userhere -l; echo "$cronjob" ) | crontab -u userhere -
希望这可以帮到你。
crontab: usage error: file name must be specified for replace
- Pedro Lobito-
,这意味着从管道中获取输入。 - papoprintf --
替换成 echo
即可,它会自动添加新行符。 - papoecho "@reboot command..." >> /var/spool/cron/root
>>
会强制将内容追加到现有的 cron 作业中,如果不存在,则创建一个新的 cron
文件并将其追加到其中。
我不确定这个是否正确,但可以试一下:
echo "* * * * * whatever" > /etc/crontabs/root
然后检查 "crontab -e",你会在那里看到你的命令。
对于使用alpine发行版的人,请不要忘记调用 "crond" 来启动你的定时任务。
crontab
,需要使用crontab -l > /tmp/my.cron
命令拉取现有条目,然后使用echo "@reboot /bin/echo 'test' > /home/user/test.sh" >> /tmp/my.cron
命令将新的 cron 追加到该文件中,最后使用crontab < /tmp/my.cron
命令重新读取文件到 crontab 中。 - alvits(crontab -l; echo "@reboot /bin/echo 'test' > /home/user/test.sh") | crontab -
。 - alvits