脚本添加 cron 内容如下,用户名为 test
#!/bin/bash
USER=test
sudo tee -a /var/spool/cron/crontabs/$USER >/dev/null <<'EOF'
*/5 * * * * echo a >> /tmp/test.txt
EOF
sudo chown -R $USER:crontab "/var/spool/cron/crontabs/$USER"
这里添加后即使 cron 服务已经启动,但还是不执行,要用户运行 crontab -e 保存一次才行
是添加的方法不对吗?
1
amrnxcdt 2021-10-01 02:41:17 +08:00 via Android
更新配置文件后需要通知 crond 重载配置
|
2
wd 2021-10-01 05:07:18 +08:00 via iPhone
不要改这个文件 你去看看 /etc/cron.d 下面的东西
|
3
IgniteWhite 2021-10-01 05:42:32 +08:00
@wd 这是 root 的 cron 文件,crontab -e 是改当前用户的
|
4
ThirdFlame 2021-10-01 10:48:31 +08:00 2
(crontab -l;printf "* * * * * /bin/touch /dev/shm/test; \r\n")|crontab -
|
5
aocif23 OP @ThirdFlame
这样子添加 cron 任务能正常执行。 |
6
julyclyde 2021-10-05 13:29:30 +08:00
|
7
amrnxcdt 2021-10-05 20:02:50 +08:00 via Android
@julyclyde 感谢指出,重新检索一下网络,的确不需要显式 reload,crond 会每分钟检查所有配置文件看看有没有任务需要执行。
参考: https://stackoverflow.com/questions/10193788/restarting-cron-after-changing-crontab-file 楼主的问题应该检查一下 cron 的日志输出 |