免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2865 | 回复: 13
打印 上一主题 下一主题

求两个脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-28 10:49 |只看该作者 |倒序浏览
1,一次重启N台机器
2,将a目录下所有的.txt转换成*.log,注:a目录还有很多子目录,子目录还有很多子目录
一路征程一路笑 该用户已被删除
2 [报告]
发表于 2010-06-28 12:00 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
一路征程一路笑 该用户已被删除
3 [报告]
发表于 2010-06-28 12:03 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
4 [报告]
发表于 2010-06-28 12:21 |只看该作者
第二个:

find ./a -type f -name "*.txt" -exec rename .txt .log {} \;

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
5 [报告]
发表于 2010-06-28 12:37 |只看该作者
回复 1# 貌似小纯洁


    第一个楼主可能需要这个

  
当我们管理数以十计或者更多的集群系统时,往往需要在每台机器上执行同样的命令,或者拷贝同样的文件,这时,我们就可以考虑使用三个小工具,分别是pdsh、ClusterSSH和mussh。

在Fedora系统上,我们可以直接通过yum安装这三个软件。
yum install clusterssh pdsh pdsh-rcmd-ssh pdsh-rcmd-rsh mussh
如果是其他Linux系统,也可以到http://clusterssh.sourceforge.nethttp://sourceforge.net/projects/pdshhttp://www.sourceforge.net/projects/mussh下载相应的软件。

无论是clusterssh还是pdsh或mussh,我们都应该相应的设置无密码登录目标系统,这方面的内容,有很多介绍,本文不再提及。

一、pdsh

首先介绍一下pdsh,首先必须在管理节点和每台目标机器上都安装pdsh软件包。pdsh可以在指定的一组机器上执行同一个命令。例如需要管理下列机器,机器名分别为node211,node232,node233,node234,node240。
命令格式如下:

pdsh -w [SSH_OR_RSH]:USERNAME@node[211,232-234,240] [COMMAND]

其中大写的部分应该被实际内容所取代。例如希望以maluyao用户的身份,在每台机器上执行hostname命令,使用ssh方法进行连接,则结果如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240] hostname
node240: node240.hn.org
node233: node233.hn.org
node234: node234.hn.org
node232: node232.hn.org
node211: node211.hn.org

这样可以非常清楚的看到每台机器上执行的结果。

另外一些时候,我们可以希望在每台机器上执行一组也许不确定的命令,这时我们可以省略[COMMAND]部分,用法如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240]
pdsh> hostname
node240: node240.hn.org
node234: node234.hn.org
node233: node233.hn.org
node232: node232.hn.org
node211: node211.hn.org
pdsh> date
node234: Mon Oct 27 14:59:37 CST 2008
node240: Mon Oct 27 14:59:37 CST 2008
node232: Mon Oct 27 14:59:37 CST 2008
node233: Mon Oct 27 14:59:37 CST 2008
node211: Mon Oct 27 14:59:38 CST 2008
pdsh> exit
pdsh软件包还自带了pdcp命令,可以将文件拷贝到一组机器上,用法如下:
pdsh -w [SSH_OR_RSH]:[USERNAME]@node[211,232-234,240] SOURCE_FILE DESTINATION
想将文件x.org拷贝到上述机器的/home/maluyao/当中,可执行下列命令:
pdcp -w ssh:maluyao@node[211,232-234,240] x.org /home/maluyao/
如果要拷贝的是目录,则需使用-r参数,例如将目录abc拷贝到/home/maluyao,执行命令如下:
pdcp -r -w ssh:maluyao@node[211,232-234,240] abc /home/maluyao/

二、ClusterSSHclusterssh是另外一个集群管理软件,可以同时打开多个窗口进行操作。例如最简单的用法可能如下:

cssh root@node211 root@node232 root@node234
不过当管理数以十计或数以百计机器的时候,在命令行就很难添加如此众多的机器名了。这时的办法是使用一个配置文件进行管理。首先生成一个配置文件,命令为:
cssh -u > ~/.csshrc
这个~/.csshrc文件里可以定义如干个组,例如在此文件结尾处添加
clusters=ibm hp inspur
ibm=root@node211 root@node232 root@node233 root@node234 root@node240
hp=root@hp211 root@hp232 root@hp233 root@hp234 root@hp240
inspur=root@inspur211 root@inspur232 root@inspur233 root@inspur234 root@inspur240
这样就可以使用cssh hp 或cssh ibm来连接指定的群组了。clusterssh的不便之处在于,管理机器越多,则打开的窗口越多,如果屏幕太小,就非常难受了。




三、musshmussh也是Fedora系统自带的一款管理多主机的ssh软件,和上述两种软件类似,可以互为补充。
mussh可以让你把本地的脚本,在多台ssh目的机器上执行。格式如下
mussh [OPTIONS] <-h host.. | -H hostfile> [-c cmd] [-C scriptfile]
例如想在多个机器上执行hostname命令,可以执行如下命令:
[tt@node111 ~]$ mussh -h root@node211 root@node212 -c hostname
root@node211: node211.hn.org
root@node212: node212.hn.org
如果想执行本地脚本test.sh,可以执行如下命令:
[tt@node111 ~]$ mussh -h root@node211 root@node212 -C test.sh
另外还可以通过建立hostfile的方式,使得命令执行时更为简化,例如在hostfile01.txt中写入:
[email=root@node211]root@node211[/email] [email=root@node212]root@node212[/email]
[tt@node111 ~]$ mussh -H hostfile01.txt -c hostname
root@node211: node211.hn.org
root@node212: node212.hn.org
笔者日常负责管理不到两百台Linux系统,配合一些监控软件,感觉有上述几个管理工具,基本就足够了。完全没有必要使用商业管理软件。


第二个用find就可以

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
6 [报告]
发表于 2010-06-28 12:43 |只看该作者
1.expect自动登录执行reboot,写个循环
2.for i in `find ./ -name '*.txt' `;do mv $i ${i%.txt}.log;done

论坛徽章:
0
7 [报告]
发表于 2010-06-28 15:34 |只看该作者
看来要好好学了Shell了

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
8 [报告]
发表于 2010-06-28 17:29 |只看该作者
mv $i{.txt,.log} ?

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
9 [报告]
发表于 2010-06-28 17:46 |只看该作者
mv $i{.txt,.log} ?
vermouth 发表于 2010-06-28 17:29



   

兄弟,这个能给解释一下吗?呵呵

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
10 [报告]
发表于 2010-06-28 18:01 |只看该作者
回复 9# cuci

这是提示、节选,详见你的那个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP