本人在写脚本重启动过程遇到坑,分享给大家,避免大家误入同样的坑 。
需求:编写Squid重启动脚本 。每天夜间12定时重启动
- 重启脚本思路: 1、停止服务进程,kill 可以搞定 2、启动进程,知道服务如何启动即可
问题现象(坑):执行任务并不能重启动 。kill 进程后,直接停止了 。不执行后续启动服务命令
[root@test scripts]# more squid.sh #!/bin/bash source /etc/profilekill -9 $(ps -ef |grep "squid" |grep -v "grep" |awk '{print $2}')ps aux |grep squidsleep 1/usr/sbin/squid -f /etc/squid/squid.confps aux |grep squid进程图

文章插图
【Linux如何快速编写重启动脚本】
[root@test scripts]# sh -x squid.sh + source /etc/profile++ '[' -x /usr/bin/id ']'++ '[' -z 0 ']'+++ /usr/bin/id -un++ USER=root++ LOGNAME=root++ MAIL=/var/spool/mail/root++ '[' 0 = 0 ']'++ pathmunge /usr/sbin......+++ alias 'which=alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'++ unset i++ unset -f pathmunge+++ whoami++ export 'HISTTIMEFORMAT=%F %T root '++ HISTTIMEFORMAT='%F %T root '+ stop++ ps -ef++ grep --color=auto squid++ grep --color=auto -v grep++ awk '{print $2}'+ kill -9 15556 15561 15565 16376 16397Killed问题原因由于执行squid.sh 脚本时,直接将当前shell脚本一起kill 掉了 。造成后续启动服务命令没有执行 。

文章插图
解决方法
- 方法一:更换脚本名称,将squid.sh 修改为test.sh。程序运行正常(能够正常启动) 主要是因为上面脚本,查找关键字"squid"时,直接将脚本自身也kill掉了 。

文章插图
#!/bin/bash source /etc/profilekill -9 $(ps -ef |grep "/usr/sbin/squid -f /etc/squid/squid.conf" |grep -v "grep" |awk '{print $2}')kill -9 $(ps -ef |grep "/var/log/squid/access.log" |grep -v "grep" |awk '{print $2}')ps aux |grep squidsleep 1/usr/sbin/squid -f /etc/squid/squid.confecho "squid is restart $(date)" >> /data/logs/squid.log

文章插图
总结
- 进程重启动,定位服务时,一定要精确定位 。不要使用模糊匹配 。匹配不好就入坑 。
推荐阅读
-
趣闻晨报|原来张艺凡才是“颜值担当”,当她失去P图待遇后,这颜值过于真实了
-
-
小身材大能量!8.9寸神奇小本笔记本带来移动办公新体验
-
-
追加|20年302期真实的谎言3D字谜总汇+追加和值
-
“全民k歌”课题研讨会於昆明举办 数字工具如何影响社会交往和社
-
-
-
平凉微电视|【憾悟】生活的原貌就是五彩缤纷的这就是生活的一段憧憬一路向往
-
笔记本电脑显示器亮度低 笔记本显示亮度最高还是暗怎么办
-
荣创之家|如今人见人爱,这个“丑八怪”在一品威客有了新包装
-
ZAKER|两桌人打作一团 竟端起涮锅互相泼,因嫌女子上厕所太长引发争执
-
「趣看悦读」孙子被绑架需要赎金,富豪:我孙子可不少,不给,美国最抠门富豪
-
数码狂人到手后台式机不想要了,8寸超级电脑掌机性能过于强大
-
-
李沁|李沁录节目发现领口太大,被男嘉宾围着时,她的救场方式不得不服
-
娱乐大仙女|《说唱新世代》吊打新说唱,有望成为本年度最说热唱节目!
-
首家线下体验店、海外名店官网同购 京东国际11.11线上线下同启跨国种草狂欢
-
百乐体育|比赛薪水全部捐赠,两个决定太显格局,爱了!霍华德决定参加复赛
-