本人在写脚本重启动过程遇到坑,分享给大家,避免大家误入同样的坑 。
需求:编写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

文章插图
总结
- 进程重启动,定位服务时,一定要精确定位 。不要使用模糊匹配 。匹配不好就入坑 。
推荐阅读
-
快乐1122娱乐|回忆起来都是感恩的泪水,沙溢刚结婚在岳父岳母家住了四年
-
拿牙刷在便利店抢了300元!22岁小伙犯下重罪,被判刑
-
-
戏说数字|沈亮数字能量学:手机号码中破财比较慢的数字有哪些?
-
「和讯科技」CEO王小川成为后者董事,搜狗投资春雨医生
-
白鲸天下|土耳其和叙利亚叛军一起炸,俄罗斯不再忍耐!战机飞向叙土边境
-
中医刘医师|可常吃一菜,改善气色,淡化皱纹,更显年轻,女性不想老太快
-
-
-
寒武纪IPO:38位博士、508位硕士演绎快公司高成长道路
-
-
LOL|云顶之弈50%的登顶阵容,红莲偷偷上波大分,直接冲到国服第一
-
东方网|北京环球影城的霍格沃茨城堡盖好了!网友:不能接受魔法世界还用脚手架
-
晒晒闺蜜106㎡三居室,效果堪比样板间,从玄关就能把人迷住
-
芝士科技 可以让手机体验大幅加分,四个锦上添花细节
-
环球时报新媒体|黎巴嫩贝鲁特大爆炸一月后,港口区又发现4吨硝酸铵
-
-
央视新闻客户端|我国固定宽带和手机流量平均资费下降超95%,工信部:五年来
-
牛奶|鲜奶0加水 田牧金钻脆皮银钻牛奶雪糕40支108元抄底
-
青年|DOTA2预测「IG vs RNG」不同体系相同打法,IG如何突破重新崛起