在 CentOS 7 上使用 cron 作业运行服务
Posted
技术标签:
【中文标题】在 CentOS 7 上使用 cron 作业运行服务【英文标题】:Run service using cron job on CentOS 7 【发布时间】:2016-12-18 09:50:32 【问题描述】:我想在 CentOS 7 上使用 cron 作业运行 apollo-broker-service 服务。 为此,我创建了一个文件 /home/guest/start_apollo,如下所述
#!/bin/bash
if pidof -x "apollo" >/dev/null; then
echo "Apollo MQTT is Running."
else
echo "Apollo MQTT is Stopped."
service apollo-broker-service start
fi
我使用 ssh root 登录并运行以下命令
cd /home/guest/
chown root start_apollo
chgrp -R root start_apollo
chmod +x start_apollo
我想每 1 分钟运行一次 /home/nagios/start_apollo 为此,我在 /etc/crontab
中添加了以下行01 * * * * root /home/nagios/start_apollo > /var/log/start_apollo_service.log
我创建了一个具有以下权限的 /var/log/start_apollo_service.log
-rwxr-xr-x 1 root root 0 Aug 11 20:08 start_apollo_service.log
然后使用以下命令重新启动 crond 服务
systemctl restart crond.service
毕竟我的 cron 作业无法正常工作,并且 /var/log/start_apollo_service.log 上没有创建日志
【问题讨论】:
【参考方案1】:我相信你的 cronjob 不是设置为每 1 分钟运行一次,而是每小时 1 分钟运行一次。
先试试这个,如果你真的想在第 01 分钟每小时换一次:
* * * * * root /home/nagios/start_apollo > /var/log/start_apollo_service.log
【讨论】:
当我尝试“*/1 * * * * root /home/nagios/start_apollo > /var/log/start_apollo_service.log”时,我的 cron 作业每 1 分钟成功运行一次 apollo 服务。当我尝试使用 cron 作业运行它时,我有另一个服务“nohup node /root/code/demo-project/index.js > /root/index.js &”,但它没有运行。你能帮帮我吗? 我认为 nohup 和 & 不合适。这些只是“守护”脚本所必需的,cron 已经为你做了这些。这可能是另一个问题。顺便说一句......你可以投票给我的答案;)【参考方案2】:我使用以下方法解决了我的问题
*/1 * * * * root /home/nagios/start_apollo > /var/log/start_apollo_service.log
【讨论】:
以上是关于在 CentOS 7 上使用 cron 作业运行服务的主要内容,如果未能解决你的问题,请参考以下文章