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

文章插图
总结
- 进程重启动,定位服务时,一定要精确定位 。不要使用模糊匹配 。匹配不好就入坑 。
推荐阅读
-
染指|贾蓉续妻胡氏,为什么能躲过贾珍染指你看贾母干了什么
-
「危在旦夕」?2020年地球母亲危在旦夕,人类要做好准备,情况比想象的还糟糕!
-
袁咏仪|袁咏仪疑回应粉丝关站事件,称不懂网络世界,与24年老粉缘分已尽
-
安卓知乎会员怎么取消自动续费 知乎会员怎么取消自动续费
-
-
重磅!美国正式退出世卫组织,联合国秘书长发言人证实
-
-
股价|2.4万股东懵了!翻倍股遭股东清仓式减持,股吧炸锅:最牛股东啊,请问谁敢买?
-
-
孙志刚|安顺一公交车坠湖,贵州省长谌贻琴正赶赴事发地组织开展救援
-
袁姗姗|袁姗姗美得不低调,一袭金色亮片长裙配大红唇,优雅又惊艳!
-
-
狂飙|《狂飙》又出事,钟阿四演员被曝涉毒,剧组发声明删除相关戏份
-
[北京日报客户端]人气回暖!北京市购物中心等实体商业客流回暖率接近50%
-
文汇报微信号|17岁女生遭袭胸,男同学踹伤猥亵者被刑拘!当地警方通报了
-
游戏追随者|上大学时碰到高手,跟着赚了几千万!,dnf当商人印象最深的一次
-
|拿什么拯救不在音乐演出和电影院的遗憾?我选择立体声
-
-
-
量子位▲单一任务强化学习遇瓶颈?「灾难性遗忘」的锅!Bengio参与