使用cron每天12AM自动重新启动apache服务

r7xajy2e  于 2022-11-16  发布在  Apache
关注(0)|答案(8)|浏览(124)

我在测试服务器中设置了CentOs。
我想每天运行一个cron作业(cron需要在上午12点运行apache服务器)。
我的cron.daily fodler位于/etc/cron.daily
请让我知道如何实施这一步骤。
通常我使用以下命令来重新启动apache服务:

service httpd restart

我想每天12点使用cron自动重新启动apache服务。
先谢谢你。

jljoyd4f

jljoyd4f1#

虽然@einterview的答案几乎是正确的,但需要注意的是,分钟列中的*将在该小时的 * 每 * 分钟运行作业。如果打算每小时运行一次,步骤如下:
1.通过SSH连接到服务器。
1.使用$ crontab -l获取当前用户的作业列表
1.使用$ crontab -e编辑作业列表(将打开默认编辑器)
1.在凌晨4点为mysql添加0 4 * * * service mysql restart
1.在上午5:00为apache 2添加0 5 * * * service apache2 restart
1.在上午12点为apache 2添加0 0 * * * service apache2 restart
1.保存并关闭(在nano中为Ctrl+O和Ctrl+X)
1.使用$ crontab -l重新检查

5kgi1eie

5kgi1eie2#

我得到了它,并给予你一步一步地添加cron作业到您的系统:
1.使用SSH登录到服务器
1.键入crontab -l以显示cron作业列表,
1.键入crontab -e以编辑crontab,
1.添加0 4 * * * /etc/init.d/mysqld restart以在每天凌晨4点重新启动Mysql,
1.添加0 5 * * * /etc/init.d/httpd restart以在每天早上5点重新启动Apache,
1.添加0 24 * * * /etc/init.d/httpd restart以在每天上午12点重新启动Apache
1.保存文件,
1.使用crontab -l重新检查

cmssoen2

cmssoen23#

1.通过运行以下命令获取服务的路径:which service。它应该返回类似于/usr/sbin/service的值
1.通过crontab -e将条目添加到contrab并输入以下内容:@daily /usr/sbin/service httpd restart
1.如果不希望在运行时向您发送电子邮件,则应添加以下内容:@daily /usr/sbin/service httpd restart > /dev/null 2>&1
1.要查找cron daily运行的时间,请运行:grep run-parts /etc/crontab
PS:获得服务的完整路径很重要。

wj8zmpe1

wj8zmpe14#

在其他答案中没有详细说明,所以我在这里说出来。对于当前用户和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用户身份运行。

91zkwejq

91zkwejq5#

您可以使用以下命令:
crontab -e函数
将以下行添加到cron:
0 12 * * * 服务httpd重新启动
或使用以下命令。
回显“0 12 * * * 服务httpd重新启动”|表示“冠”之义
这个网站是一个很好的一个cron时间https://crontab.guru

sqserrrh

sqserrrh6#

我还不允许评论这里的最后一个,但实际上你可以只使用0 0 * * *,然后它将通过一个确定。

vxf3dgd4

vxf3dgd47#

已在ubuntu 20.04.3 LTS上尝试

sudo crontab -e
0 8 * * * /home/<user>/restart_service.sh
# Runs above crontab 8AM everyday.

内部restart_service.sh

#!/bin/bash
systemctl restart my_service.service

稍后为execute提供适当的permissions
chmod u+x /home/<user>/restart_service.sh

hpxqektj

hpxqektj8#

根据该建议,添加: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个是不可接受的

相关问题