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

Vin*_*gam 18 apache cron centos6

我在测试服务器中安装了CentOs.

我想每天运行一个cron作业(cron需要在凌晨12点运行apache服务器).

我的cron.daily fodler位于 /etc/cron.daily

请让我知道如何实现这一步骤.

通常我使用以下命令重新启动apache服务:

service httpd restart
Run Code Online (Sandbox Code Playgroud)

我想每天使用cron 12AM自动重启apache服务.

提前致谢.

小智 34

虽然@ einterview的答案几乎是正确的,一定要注意,一个很重要*的分钟列将运行作业的每个那个小时的分钟.如果打算每小时运行一次,步骤将是:

  1. SSH进入服务器.

  2. 获取当前用户的工作列表 $ crontab -l

  3. 编辑作业列表$ crontab -e(默认编辑器将打开)

  4. 0 4 * * * service mysql restart在凌晨4点添加mysql

  5. 0 5 * * * service apache2 restart在上午5:00 添加apache2

  6. 0 0 * * * service apache2 restart在上午12:00 添加apache2

  7. 保存并关闭(在nano中按Ctrl + O和Ctrl + X)

  8. 重新检查 $ crontab -l

  • 在我的(debian)服务器上,我不得不使用`/ usr/sbin/service`而不是`service`. (6认同)
  • 您必须使用 `systemctl restart [service]` 而不是不推荐使用的 service 命令。 (5认同)
  • Cronjobs 可能与你的 shell 不在同一个环境中运行,为了安全起见,你可以指定完整路径,找到它,你可以使用类似 `whereis service` 的东西 (2认同)

Vin*_*gam 24

我得到了它,并一步一步地将cron作业添加到您的系统中:

  1. 使用SSH登录您的服务器
  2. 键入crontab -l以显示cron作业列表,
  3. 输入crontab -e以编辑crontab,
  4. 添加0 4 * * * /etc/init.d/mysqld restart到每天早上4点重启Mysql,
  5. 添加0 5 * * * /etc/init.d/httpd restart到每天凌晨5点重启Apache
  6. 添加0 24 * * * /etc/init.d/httpd restart到每天上午12点重新启动Apache
  7. 保存文件,
  8. 重新检查 crontab -l


Nep*_*luz 5

  1. 通过运行获取服务路径:which service. 这应该返回类似/usr/sbin/service
  2. 添加条目到 contrab viacrontab -e并输入以下内容:@daily /usr/sbin/service httpd restart
  3. 如果您不希望在运行时向您发送电子邮件,您应该添加以下内容: @daily /usr/sbin/service httpd restart > /dev/null 2>&1
  4. 要查找 cron 每天运行的时间,请运行: grep run-parts /etc/crontab

PS:获取服务的完整路径很重要。