免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: king_819
打印 上一主题 下一主题

有奖专家座谈——自动化运维案例分享讨论之一(特邀某大型网游运维总监“king_819”) [复制链接]

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
21 [报告]
发表于 2011-11-16 11:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
22 [报告]
发表于 2011-11-16 11:26 |只看该作者
恩。这个帖子好。如果奖励换成个IPHONE、IPAD之类的就更好了。
jqjyy 发表于 2011-11-16 10:58


多分享、分讨论,就能如你所愿!

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
23 [报告]
发表于 2011-11-16 11:28 |只看该作者
expect + scp 远程复制文件
  1. #!/usr/local/bin/expect -f

  2. set ip 192.168.175.5
  3. set pwd ChinaUnix

  4. spawn scp ssh.exp root@$ip:/tmp

  5. expect {
  6.     "(yes/no)?" {send "yes\r";exp_continue}
  7.     "password:" {send  "$pwd\r"}
  8. }
  9. expect eof
复制代码

论坛徽章:
0
24 [报告]
发表于 2011-11-16 11:28 |只看该作者
回复  chenyx

支持下活动,PXE我们用得也比较多,实用就行,不需要去赶时mao~

下阶段准备在公司试用P ...
yuhongchun 发表于 2011-11-16 11:25



   Puppet 是比较的强大了,希望大家能分享一些puppet定义的脚本

论坛徽章:
0
25 [报告]
发表于 2011-11-16 11:28 |只看该作者
我也来说说吧,我也是刚加入运维行列不久,也经历过公司大规模机器上线的情况,说说我的经历吧,跟大家交流分享下!

1、批量的安装:
我们的机器基本上都是系统都是被初始化好了,用的是某开放平台的机器,所以这个我们暂时不用太操心。主要是我们的业务需要依赖一些库和一些基础服务,比如memcache,redis等,这样在别人装好的系统上去做这些事情基本步骤就是先加ssh信任,然后用rsync将lib等文件夹拷过去就可以直接用了,这样就需要安装的时候有一定的规范。(第一台机器用源代码手动编译,后面的机器基本与第一台的架构一致)

2、批量的优化:
优化主要是针对连接数,mysql的配置文件,log放置的位置等信息做优化,一般写好一台的脚本,批量执行就没问题了,前提是需要做好严格的测试。

3、批量部署:
这个就需要开发的协助了,我们一般会跟开发交流需要起哪些服务,有什么要求,把代码放到服务器上以后,一键拉起所有的服务就没问题了。
总体来说,部署还是开发和运维协作完成才能达到很好的效果。


这里所说的自动化,我感觉大部分在脚本上,脚本好坏直接关系到自动化的程度,当然,这里的脚本不仅限于shell,只要能用好手里的工具,就能最大限度的提高效率,发挥他们的能力!

论坛徽章:
0
26 [报告]
发表于 2011-11-16 11:29 |只看该作者
expect + scp 远程复制文件
Shell_HAT 发表于 2011-11-16 11:28


如果量大了,还是得上puppet

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
27 [报告]
发表于 2011-11-16 11:31 |只看该作者
expect + ftp 下载FTP文件
  1. #!/usr/local/bin/expect -f
  2. set ipaddress 192.168.175.5
  3. set user root
  4. set pass ChinaUnix

  5. spawn ftp $ipaddress
  6. expect "*Name*"
  7. send "$user\n"
  8. expect "*Password:*"
  9. send "$pass\n"
  10. expect "*ok*ftp>*"
  11. send "get teste\n"
  12. expect "*ftp>*"
  13. send "quit\n"
  14. expect eof
复制代码

论坛徽章:
0
28 [报告]
发表于 2011-11-16 11:34 |只看该作者
expect + ftp 下载FTP文件
Shell_HAT 发表于 2011-11-16 11:31



支持清野分享更多的自动化脚本!

论坛徽章:
0
29 [报告]
发表于 2011-11-16 11:36 |只看该作者
上次 一篇文章上介绍
Kickstart
Fully Automatic Installation
Cobbler
Spacewalk
OpenQRM

但是那个OpenQRM 好像很强大 有熟悉的吗?

论坛徽章:
0
30 [报告]
发表于 2011-11-16 11:37 |只看该作者
批量修改远程linux服务器密码

一、建立信任关系

192.168.9.203 为管理机

192.168.9.201 192.168.9.202 为远程linux服务器

1、在管理机生成证书、
  1. [root@manage ~]# ssh-keygen -t rsa
复制代码
Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.   (私钥)

Your public key has been saved in /root/.ssh/id_rsa.pub. (公钥)

The key fingerprint is:

36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a0



2、将管理机上的公钥传送到各远程服务器

如远程服务器更改了默认的ssh端口号,就使用scp -P 17173,17173为端口号
  1. [root@manage .ssh]# scp id_rsa.pub 192.168.9.201:/root/.ssh/authorized_keys

  2. [root@manage .ssh]# scp id_rsa.pub 192.168.9.202:/root/.ssh/authorized_keys
复制代码
管理机与远程主机信任关系建立完毕



二、通过shell脚本批量修改远程服务器密码

如果要调用mkpasswd就得安装expect,使用mkpasswd可以随机产生密码

usage: mkpasswd [args] [user]

where arguments are:

    -l #      (length of password, default = 10)

    -d #      (min # of digits, default = 2)

    -c #      (min # of lowercase chars, default = 2)

    -C #      (min # of uppercase chars, default = 2)

    -s #      (min # of special chars, default = 1)

    -v        (verbose, show passwd interaction)

    -p prog   (program to set password, default = passwd)

比如说你要指定一个长度为8,而且至少有三个大写字母的密码,那么可以这样输入:

mkpasswd -l 8 - C 3,好了,密码就会按你的要求随机产生了
  1. yum -y install expect
复制代码
ip_list.txt为远程服务器IP列表
  1. [root@manage .ssh]# cat ip_list.txt
复制代码
192.168.9.201

192.168.9.202

如果远程服务器修改了默认ssh的端口号,就使用ssh -p 17173,17173为端口号
  1. #!/bin/bash

  2. #============== Though ssh remote server ,auto modify ROOT passwd =============#

  3. for IP in `cat /root/ip_list.txt` #导入远程要修改主机的IP

  4. do

  5. #========================= 创建远程主机密码 ==========================#

  6. TMP_PWD=`mkpasswd -l 8 -C 3`

  7. R_PWD=`echo ${IP}_${TMP_PWD}`

  8. echo "${IP}_${TMP_PWD}" > R_PWD.txt



  9. #=========================== 修改远程主机密码 ========================#


  10. if [ $? = 0 ] ; then

  11.    ssh $IP passwd root --stdin < R_PWD.txt

  12.    echo -e "$(date "+%Y-%m-%d %H:%M:%S")\t${IP}\t${R_PWD}\t" >> R_Server.log

  13. else

  14.    echo -e "$(date "+%Y-%m-%d %H:%M:%S")\t${IP} R_PWD.txt is create fail\tplease check!\t" >> M_pass.log

  15. fi

  16. if [ $? = 0 ] ; then

  17.    echo -e "$(date "+%Y-%m-%d %H:%M:%S")\tThe ${IP} passwd is modify OK\t" >> M_pass.log

  18. else

  19.    echo -e "$(date "+%Y-%m-%d %H:%M:%S")\tThe ${IP} passwd is modify fail\tplease check!\t" >> M_pass.log

  20. fi

  21. done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP