[英]run sh script to stop and restart nginx as root from crontab?
我需要一个脚本来运行一个bash脚本,该脚本将停止nginx拖入一堆其他东西,然后启动nginx
crontab看起来像这样
5 10 * * 0 sh ~/runnow/script.sh
我编辑了crontab,并以root身份登录。
该脚本可以正常运行,但是nginx的停止和启动行提供了未找到的错误服务。
echo "Stopping Nginx"
service nginx-sp stop
给
Stopping Nginx
/root/run/script.sh: 2: /root/run/script.sh: service: not found
如果我手动运行以root用户身份登录的脚本,则运行正常。 我的想法是crontab不是以root身份运行,而是搜索它,如果您使用crontab -e以root身份登录时退出crontab,似乎它应该以root身份运行。 一定是因为我使用〜/ run / script.sh来运行脚本,而实际路径是/root/run/script.sh
所以...我迷路了...
正如cyrus所指出的...使用它以这种方式查找服务路径:
which service
然后在脚本中添加完整路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.