linux
主页 > 服务器 > linux >

linux编写同步文件的脚本

2024-06-29 | 佚名 | 点击:

linux编写同步文件的脚本

搭集群最麻烦的就是修改配置文件,如果只用修改一个机器上的配置文件,然后用一个脚本就可以把配置文件同步到其他机器上,岂不快哉!

编写一个名为xsync的脚本文件

作用: 将当前机器的文件,同步到集群所有机器的相同路径下!

hadoop102:/A/a , 执行脚本后,将此文件同步到集群中所有机器的 /A/a

用户在使用xsync时,只需要传入要同步的文件即可

1

xysnc a

不管a是一个相对路径还是绝对路径,都需要将a转换为 绝对路径!

文件的 绝对路径=父路径+文件名:

pwd的 -P参数是为了避免出现软链接导致的路径问题,-P可以使软链接显示出真实的链接

1

2

3

4

for(())

    do

        rsync -rvlt   path1

    done

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#!/bin/bash

#校验参数是否合法

if(($#==0))

then

    echo 请输入要分发的文件!

    exit;

fi

#获取分发文件的绝对路径

dirpath=$(cd `dirname $1`; pwd -P)

filename=`basename $1`

 

echo 要分发的文件的路径是:$dirpath/$filename

 

#循环执行rsync分发文件到集群的每条机器

for((i=101;i<=103;i++))

do

    echo ---------------------hadoop$i---------------------

    rsync -rvlt $dirpath/$filename  username@hostname$i:$dirpath

done

最后别忘了把xcall文件放进 家目录下的bin目录

如果没有就新建一个bin目录

因为这目录是在 全局环境变量 中

放进去后无论在哪个目录下都可以执行这个脚本文件!

原文链接:
相关文章
最新更新