我在测试服务器中设置了CentOs。我想每天运行一个cron作业(cron需要在上午12点运行apache服务器)。我的cron.daily fodler位于/etc/cron.daily请让我知道如何实施这一步骤。通常我使用以下命令来重新启动apache服务:
/etc/cron.daily
service httpd restart
我想每天12点使用cron自动重新启动apache服务。先谢谢你。
jljoyd4f1#
虽然@einterview的答案几乎是正确的,但需要注意的是,分钟列中的*将在该小时的 * 每 * 分钟运行作业。如果打算每小时运行一次,步骤如下:1.通过SSH连接到服务器。1.使用$ crontab -l获取当前用户的作业列表1.使用$ crontab -e编辑作业列表(将打开默认编辑器)1.在凌晨4点为mysql添加0 4 * * * service mysql restart1.在上午5:00为apache 2添加0 5 * * * service apache2 restart1.在上午12点为apache 2添加0 0 * * * service apache2 restart1.保存并关闭(在nano中为Ctrl+O和Ctrl+X)1.使用$ crontab -l重新检查
*
$ crontab -l
$ crontab -e
0 4 * * * service mysql restart
0 5 * * * service apache2 restart
0 0 * * * service apache2 restart
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点重新启动Apache1.保存文件,1.使用crontab -l重新检查
crontab -l
crontab -e
0 4 * * * /etc/init.d/mysqld restart
0 5 * * * /etc/init.d/httpd restart
0 24 * * * /etc/init.d/httpd restart
cmssoen23#
1.通过运行以下命令获取服务的路径:which service。它应该返回类似于/usr/sbin/service的值1.通过crontab -e将条目添加到contrab并输入以下内容:@daily /usr/sbin/service httpd restart1.如果不希望在运行时向您发送电子邮件,则应添加以下内容:@daily /usr/sbin/service httpd restart > /dev/null 2>&11.要查找cron daily运行的时间,请运行:grep run-parts /etc/crontabPS:获得服务的完整路径很重要。
which service
/usr/sbin/service
@daily /usr/sbin/service httpd restart
@daily /usr/sbin/service httpd restart > /dev/null 2>&1
grep run-parts /etc/crontab
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用户身份运行。
91zkwejq5#
您可以使用以下命令:crontab -e函数将以下行添加到cron:0 12 * * * 服务httpd重新启动或使用以下命令。回显“0 12 * * * 服务httpd重新启动”|表示“冠”之义这个网站是一个很好的一个cron时间https://crontab.guru
sqserrrh6#
我还不允许评论这里的最后一个,但实际上你可以只使用0 0 * * *,然后它将通过一个确定。
vxf3dgd47#
已在ubuntu 20.04.3 LTS上尝试
ubuntu 20.04.3 LTS
sudo crontab -e 0 8 * * * /home/<user>/restart_service.sh # Runs above crontab 8AM everyday.
内部restart_service.sh
restart_service.sh
#!/bin/bash systemctl restart my_service.service
稍后为execute提供适当的permissionschmod u+x /home/<user>/restart_service.sh
execute
permissions
chmod u+x /home/<user>/restart_service.sh
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个是不可接受的
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.
8条答案
按热度按时间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
重新检查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点重新启动Apache1.保存文件,
1.使用
crontab -l
重新检查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:获得服务的完整路径很重要。
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用户身份运行。
91zkwejq5#
您可以使用以下命令:
crontab -e函数
将以下行添加到cron:
0 12 * * * 服务httpd重新启动
或使用以下命令。
回显“0 12 * * * 服务httpd重新启动”|表示“冠”之义
这个网站是一个很好的一个cron时间https://crontab.guru
sqserrrh6#
我还不允许评论这里的最后一个,但实际上你可以只使用0 0 * * *,然后它将通过一个确定。
vxf3dgd47#
已在
ubuntu 20.04.3 LTS
上尝试内部
restart_service.sh
稍后为
execute
提供适当的permissions
chmod u+x /home/<user>/restart_service.sh
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个是不可接受的