首页 > TAG信息列表 > xcall
集群常用脚本
一、集群时间同步修改脚本 1)在/home/atguigu/bin目录下创建脚本dt.sh [atguigu@hadoop102 bin]$ vim dt.sh 2)在脚本中编写如下内容 #!/bin/bash log_date=$1 for i in hadoop102 hadoop103 hadoop104 do ssh -t $i "sudo date -s $log_date" done 说明(ssh -t):https://www.cnblinux下xsync和xcall脚本及使用xcall jps遇到的一些小问题
xsync: #!/bin/sh # 获取输入参数个数,如果没有参数,直接退出 pcount=$# if((pcount==0)); then echo no args...; exit; fi # 获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname # 获取上级目录到绝对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=hadoop 完全分布式批量处理脚本编写
编写shell脚本就是解决批量处理 1. 在/usr/local/bin 创建脚本 并授权所有用户 chmod a+x xcall.sh xcall.sh 比如:删除/tmp/*所有文件 批量删除4台服务器的/tmp/*所有文件 xcall.sh rm -rf /tmp/* 2 rsync 远程同步 速度快 四个机器均/bin/sh^M:bad interpreter: No such file or directory问题
脚本命令正确无误,但是执行脚本的时候报错“/bin/sh^M:bad interpreter: No such file or directory” 原因:该脚本文件在windows系统中编辑过,引入了不可见的字符,这是不同系统的编码格式所致! 比较稳妥的办法: 1.删除该脚本文件 rm xcall.sh //确保windows系统有备5.写一个sh脚本,可以通过一台机器控制多台机器
先创建一个脚步文件 对这个脚本进行编辑 [hadoop@node1 ~]$ vim xcall.sh 给脚本赋予权限 执行脚本 把脚本移动到 /usr/local/bin/目录下 [hadoop@node1 ~]$ sudo mv xcall.sh /usr/local/bin 可以直接执行脚本 分别给node2 node3 node4