Linux下常用命令及脚本

scp:复制文件

格式scp   源文件地址    目标文件地址   参数:-r 递归

scp [email protected]:/opt/software/hadoop-2.7.2.tar.gz software/   #有三种方式   从A主机推到B主机  在B主机上从A主机拉到B主机  在B主机上把文件从A上推到C主机上

  


rsync;更新文件

格式:rsync 源文件地址  目标文件地址   参数:-r  递归 -l 保持符号链接文件  -v  详细输出模式

rsync [email protected]:/etc/hosts /etc/hosts

  


ssh免密登录

$ cd ~/.ssh/
$ ssh-keygen -t rsa  #然后连续按三次回车,会生成一个公钥和一个私钥
$  ssh-copy-id hadoop103 把公钥传给hadoop03机器,即可免密登录hadoop103
$ 

  


 集群分发脚本

(1)在/usr/local/bin目录下创建xsync文件

[root@hadoop102 bin]# touch xsync
[root@hadoop102 bin]# vi xsync


#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=103; host<105; host++)); do
        #echo $pdir/$fname $user@hadoop$host:$pdir
        echo --------------- hadoop$host ----------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

  (2)修改脚本 xsync 具有执行权限

[root@hadoop102 bin]# chmod 777 xsync
[root@hadoop102 bin]# chown tly:tly xsync

  (3)调用脚本形式:xsync 文件名称

[atguigu@hadoop102 opt]$ xsync tmp/

  


猜你喜欢

转载自www.cnblogs.com/tianliuyang/p/9777834.html