我在测试服务器中设置了CentOs。
我想每天运行一个cron作业(cron需要在凌晨12点运行apache服务器)。
我的cron.daily fodler位于/etc/cron.daily
请告诉我如何实现此目的的步骤。
通常我使用以下命令重启apache服务:
service httpd restart
我想每天使用cron 12AM自动重启apache服务。
提前致谢。
答案 0 :(得分:30)
虽然@ einterview的答案几乎是正确的,但重要的是要注意分钟列中的*
将在该小时的每分钟运行作业。如果打算每小时运行一次,步骤将是:
SSH进入服务器。
使用$ crontab -l
使用$ crontab -e
编辑作业列表(默认编辑器将打开)
凌晨4:00为mysql添加0 4 * * * service mysql restart
在凌晨5:00为apache2添加0 5 * * * service apache2 restart
在上午12点为apache2添加0 0 * * * service apache2 restart
保存并关闭(在nano中按Ctrl + O和Ctrl + X)
重新检查$ crontab -l
答案 1 :(得分:23)
我得到了它并一步一步地将cron作业添加到您的系统中:
crontab -l
以显示cron作业列表crontab -e
以编辑您的crontab,0 4 * * * /etc/init.d/mysqld restart
重新启动Mysql,0 5 * * * /etc/init.d/httpd restart
以重启Apache,0 24 * * * /etc/init.d/httpd restart
以重启Apache crontab -l
答案 2 :(得分:4)
which service
。这应该返回类似/usr/sbin/service
crontab -e
将条目添加到避孕套中,然后输入以下内容:@daily /usr/sbin/service httpd restart
@daily /usr/sbin/service httpd restart > /dev/null 2>&1
grep run-parts /etc/crontab
PS:获得完整的服务途径很重要。
答案 3 :(得分:0)
我还不能对这里的最后一个发表评论,但是实际上您可以只使用0 0 * * *,然后它就可以通过了。
答案 4 :(得分:0)
其他答案中没有说明,所以我在这里说。当前用户和root用户的cron作业列表不同。在我的Raspberry Pi 4上,无法执行上述操作,因为当前用户没有重新启动服务的权限。
这有效:
sudo crontab -l(列出当前作业) sudo crontab -e(编辑cron作业列表) 0 0 * * * systemctl重新启动openvpn.service(将此行添加到底部) 保存并关闭(nano中的Ctrl + O,Enter,Ctrl + X) sudo crontab -l(已添加验证作业)
换句话说,“ crontab -l”将给出与“ sudo crontab -l”不同的列表。在上述命令中添加“ sudo”可使作业以root身份运行。
答案 5 :(得分:0)
您可以使用以下命令:
crontab -e
在 cron 中添加以下行:
0 12 * * * 服务 httpd 重启
或使用以下命令。
echo "0 12 * * * service httpd restart" | crontab -
这个网站是一个很好的 cron time https://crontab.guru
答案 6 :(得分:-1)
根据以下建议添加:
0 12 * * * /etc/init.d/httpd restart
0 24 * * * /etc/init.d/httpd restart
我得到"/tmp/crontab.D6cOzs/crontab":3: bad hour
errors in crontab file, can't install.
我只需要做12个就可以了,所以我假设24个不可接受