
脚本添加 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 下面的东西 |
4 ThirdFlame 2021-10-01 10:48:31 +08:00 (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 amrnxcdt 应该并不存在所谓“通知 crond”重载配置这个事。具体行为可以看 cron 的日志和 strace 跟踪 @wd 的做法是比较好的。建议不要用“用户级”crontab,因为容易加不易删。用 cron.d 比较容易将来删除干净 |
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 的日志输出 |