每天凌晨 12 点使用 cron 自动重启 apache 服务
restart apache service automatically using cron 12AM daily
我在测试服务器中安装了 CentOs。
我想每天 运行 一个 cron 作业(cron 需要在凌晨 12 点 运行 apache 服务器)。
我的 cron.daily 饲养员位于 /etc/cron.daily
请告诉我如何实现这个的步骤。
通常我使用下面的命令来重启apache服务:
service httpd restart
我想每天凌晨 12 点使用 cron 自动重启 apache 服务。
提前致谢。
我明白了,并逐步向您介绍如何将 cron 作业添加到您的系统中:
- 使用 SSH 登录您的服务器
- 键入
crontab -l
以显示 cron 作业列表,
- 键入
crontab -e
编辑您的 crontab,
- 添加
0 4 * * * /etc/init.d/mysqld restart
以在每天凌晨 4 点重新启动 Mysql,
- 添加
0 5 * * * /etc/init.d/httpd restart
以在每天凌晨 5 点重新启动 Apache 并且
- 添加
0 24 * * * /etc/init.d/httpd restart
以在每天凌晨 12 点重新启动 Apache
- 保存文件,
- 重新检查
crontab -l
虽然@einterview 的回答几乎是正确的,但重要的是要注意分钟列中的 *
将 运行 作业 每 分钟小时。如果打算每小时 运行 一次,步骤为:
SSH 进入服务器。
获取当前用户的工作列表 $ crontab -l
使用 $ crontab -e
编辑工作列表(默认编辑器将打开)
在 4:00am
为 mysql 添加 0 4 * * * service mysql restart
在 5:00am
为 apache2 添加 0 5 * * * service apache2 restart
在12:00上午
为apache2添加0 0 * * * service apache2 restart
保存并关闭(nano 中为 Ctrl+O 和 Ctrl+X)
重新检查 $ crontab -l
按照此建议添加:
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 0 * * * 然后它会通过 a-ok。
其他答案中没有说明,所以我在这里说一下。当前用户和 root 用户有不同的 cron 作业列表。在我的 Raspberry Pi 4 上,按上面的方式做是行不通的,因为当前用户没有重启服务的权限。
然而这有效:
sudo crontab -l(列出当前作业)
sudo crontab -e(编辑 cron 作业列表)
0 0 * * * systemctl restart openvpn.service (将此行添加到底部)
保存并关闭(在 nano 中为 Ctrl+O、ENTER、Ctrl+X)
sudo crontab -l(添加了验证作业)
换句话说,"crontab -l" 将给出与 "sudo crontab -l" 不同的列表。在上述命令中添加 "sudo" 使作业 运行 成为 root。
- 通过 运行ning 获取服务路径:
which service
。这应该 return 类似于 /usr/sbin/service
- 通过
crontab -e
添加条目到 contrab 并输入以下内容:@daily /usr/sbin/service httpd restart
- 如果您不想在 运行 时向您发送电子邮件,您应该添加以下内容:
@daily /usr/sbin/service httpd restart > /dev/null 2>&1
- 查找cron每天运行s,运行的时间:
grep run-parts /etc/crontab
PS: 获取服务的完整路径很重要。
您可以使用以下命令:
crontab -e
向 cron 添加以下行:
0 12 * * * 服务 httpd 重启
或使用以下命令。
echo "0 12 * * * 服务 httpd 重新启动" |定时任务-
这个站点是一个很好的 cron time https://crontab.guru
试穿 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
我在测试服务器中安装了 CentOs。
我想每天 运行 一个 cron 作业(cron 需要在凌晨 12 点 运行 apache 服务器)。
我的 cron.daily 饲养员位于 /etc/cron.daily
请告诉我如何实现这个的步骤。
通常我使用下面的命令来重启apache服务:
service httpd restart
我想每天凌晨 12 点使用 cron 自动重启 apache 服务。
提前致谢。
我明白了,并逐步向您介绍如何将 cron 作业添加到您的系统中:
- 使用 SSH 登录您的服务器
- 键入
crontab -l
以显示 cron 作业列表, - 键入
crontab -e
编辑您的 crontab, - 添加
0 4 * * * /etc/init.d/mysqld restart
以在每天凌晨 4 点重新启动 Mysql, - 添加
0 5 * * * /etc/init.d/httpd restart
以在每天凌晨 5 点重新启动 Apache 并且 - 添加
0 24 * * * /etc/init.d/httpd restart
以在每天凌晨 12 点重新启动 Apache - 保存文件,
- 重新检查
crontab -l
虽然@einterview 的回答几乎是正确的,但重要的是要注意分钟列中的 *
将 运行 作业 每 分钟小时。如果打算每小时 运行 一次,步骤为:
SSH 进入服务器。
获取当前用户的工作列表
$ crontab -l
使用
$ crontab -e
编辑工作列表(默认编辑器将打开)在 4:00am
为 mysql 添加 在 5:00am
为 apache2 添加 在12:00上午
为apache2添加保存并关闭(nano 中为 Ctrl+O 和 Ctrl+X)
重新检查
$ crontab -l
0 4 * * * service mysql restart
0 5 * * * service apache2 restart
0 0 * * * service apache2 restart
按照此建议添加:
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 0 * * * 然后它会通过 a-ok。
其他答案中没有说明,所以我在这里说一下。当前用户和 root 用户有不同的 cron 作业列表。在我的 Raspberry Pi 4 上,按上面的方式做是行不通的,因为当前用户没有重启服务的权限。
然而这有效:
sudo crontab -l(列出当前作业) sudo crontab -e(编辑 cron 作业列表) 0 0 * * * systemctl restart openvpn.service (将此行添加到底部) 保存并关闭(在 nano 中为 Ctrl+O、ENTER、Ctrl+X) sudo crontab -l(添加了验证作业)
换句话说,"crontab -l" 将给出与 "sudo crontab -l" 不同的列表。在上述命令中添加 "sudo" 使作业 运行 成为 root。
- 通过 运行ning 获取服务路径:
which service
。这应该 return 类似于/usr/sbin/service
- 通过
crontab -e
添加条目到 contrab 并输入以下内容:@daily /usr/sbin/service httpd restart
- 如果您不想在 运行 时向您发送电子邮件,您应该添加以下内容:
@daily /usr/sbin/service httpd restart > /dev/null 2>&1
- 查找cron每天运行s,运行的时间:
grep run-parts /etc/crontab
PS: 获取服务的完整路径很重要。
您可以使用以下命令:
crontab -e
向 cron 添加以下行:
0 12 * * * 服务 httpd 重启
或使用以下命令。
echo "0 12 * * * 服务 httpd 重新启动" |定时任务-
这个站点是一个很好的 cron time https://crontab.guru
试穿 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