![我应该从哪里启动 crond?](https://linux22.com/image/830394/%E6%88%91%E5%BA%94%E8%AF%A5%E4%BB%8E%E5%93%AA%E9%87%8C%E5%90%AF%E5%8A%A8%20crond%EF%BC%9F.png)
在我的 Ubuntu 服务器 (LTS 12.04) 上,我希望每次启动时 crond 都会运行。我应该在哪里配置它?我查看了一下,service --status-all
发现 cron 在那里,但它被标记为问号。
一般来说,用户应该在哪里添加他们想要在启动时执行的守护进程?
答案1
通常,您会将启动守护进程的脚本添加到(S 表示在启动时),并且该脚本应在下次启动时自动启动。(通常,您会从其原始路径软链接脚本。)这也可以使用工具{需要 root 权限} 来/etc/rcS.d/
完成。update-rc.d
遗憾的是,我不确定 crond 启动脚本的具体位置,但是它应该自动配置为在启动时启动,并且在使用系统目录之前,我想说进行健全性检查,看看如果您运行crontab -e
并添加这样的新行会发生什么: ,您应该在系统邮件中*/1 * * * * echo "Cron works"
收到字符串(前提是您已配置 postfix)。Cron works
另外,在测试完 cronjob 后不要忘记将其删除,因为它会每分钟向您发送该字符串,很快就会变得烦人。
答案2
根据 Andreas Poisel 在stackoverflow 上有类似的帖子,
要在登录前以 root 身份运行守护程序或任何命令,请将其添加到
/etc/rc.local
或添加 cron 作业作为@reboot
其时间字段。您还可以根据编写适当的 init 脚本/etc/init.d/skeleton
。要在登录后运行命令,请将其添加到
~/.bash_profile
(假设您使用的是 bash)。与相反~/.bashrc
,此文件将仅由登录 shell 执行。要在任何新用户登录后运行命令,请添加适当的命令
.bash_profile
,/etc/skel
新用户将在创建帐户时自动获得此文件。