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

文章插图
总结
- 进程重启动,定位服务时,一定要精确定位 。不要使用模糊匹配 。匹配不好就入坑 。
推荐阅读
-
央视财经@“超级月亮”又来了!今年最佳赏月良机不要错过
-
-
看看新闻Knews|为了“南翔”这个商标,这两家闹上了法庭
-
新咖说电影|别人就当你是“傻子”,朱之文被村民堵门要钱背后:善良过了头
-
大拇指指甲近四个月变黄变厚,且生长缓慢,在根部有黑色斑块,请问是啥原因有可能是黑色素瘤吗
-
星耀说游戏星■爱意难消,缘分注定,你和他(她)能否牵手一生?四月
-
含羞草为什么会害羞作文300字?含羞草为什么会害羞视频
-
-
中国民航网|吉祥航空迎来开航14周年,“凤凰”腾飞
-
-
-
科学|完整人类基因组首次被破译 22年揭秘全部人体秘密 有多壮观?
-
驱逐舰|055大驱有112枚导弹,若打完该怎么办?原来国家早已有所准备
-
时尚修宛丝|年轻美女街拍:美女穿着浪漫俏皮,散发出浓郁的时尚气息
-
霍中曦家庭地位低,出行背大背包,霍中妍轻松,霍启刚手插裤袋
-
幽默空初彤|看手机的时候也要小心旁边的闺蜜,搞笑gif:恶搞女朋友
-
「估计」农民在地里种它,亩赚5万元,估计不少人还以为是黄瓜
-
【新华网】综述:释放积极信号 助推互利共赢——美国农商界人士
-
-
海底探探|天冷了,别再穿连衣裙,尝尝这款“加绒卫衣”,时尚百搭又减龄