Chinaunix首页 | 论坛 | 博客
  • 博客访问: 952336
  • 博文数量: 99
  • 博客积分: 3306
  • 博客等级: 中校
  • 技术积分: 1238
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 10:14
文章分类

全部博文(99)

文章存档

2012年(37)

2011年(56)

2010年(6)

分类: LINUX

2012-02-14 16:45:02

有时线上切割日志的cronolog升级了,需要把所有跑apache服务的服务器都重启一下。写了个脚本从一个文件读取需要重启的服务器列表,然后直接-k gracefull就可以了。
  1. [ $# -ne 1 ] && echo "$0 file" && exit
  2. for HOST in $(cat $1)
  3. do
  4. N=$(ssh -n $HOST "ps -C httpd u| awk '/admin/{print \$11,\$12,\$13}'|uniq|wc -l" )
  5. AP=$(ssh -n $HOST " ps -C httpd u|awk '/admin/{print \$11,\$12,\$13}'|uniq" )
  6. if [ $N -ne 1 ];then
  7. echo "发现多个配置"
  8. echo $AP
  9. exit 1
  10. fi
  11. a=0
  12. echo -e "发现\e[32m$HOST\e[m配置路径:"
  13. echo -e "\e[31m$AP -k graceful\e[m"
  14. echo "确认重启?回车确定重启$HOST"
  15. read a
  16. ssh -n $HOST "$AP -k graceful" &> /dev/null
  17. echo "-------------------------------------------------------------"
  18. echo "重启完毕$HOST"
  19. done


阅读(1944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~