linux如何编写同步文件的脚本

 更新时间:2024年06月28日 11:42:08   作者:孙晨c  
这篇文章主要介绍了linux如何编写同步文件的脚本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

linux编写同步文件的脚本

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

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

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

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

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

xysnc a

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

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

  • 父路径: dirpath=$(cd dirname /home/atguigu/hi; pwd -P)
  • 文件名: filename=basename hi

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

  • 核心命令:
	for(())
		do
			rsync -rvlt   path1 
		done
  • 正式文件:
#!/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目录

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux 中锁定和解锁用户帐户的三种方法

    Linux 中锁定和解锁用户帐户的三种方法

    这篇文章主要介绍了Linux 中锁定和解锁用户帐户的三种方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法

    Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法

    本篇文章主要介绍了Linux初学(CnetOS Linux7)之切换命令模式和图形模式的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • ubuntu下使用sublime text时如何完美输入中文

    ubuntu下使用sublime text时如何完美输入中文

    网上的很多方法都不能让ubuntu下的sublime输入中文,使用Input Helper也很是别扭,这个方法是某大神通过启动sublime程序前运行脚本修改sublime来实现中文输入。
    2015-12-12
  • Ubuntu/Linux 有关权限修改的命令解析

    Ubuntu/Linux 有关权限修改的命令解析

    这篇文章主要介绍了Ubuntu/Linux 有关权限修改的命令的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • Linux中使用NTP保持精确时间的方法详解

    Linux中使用NTP保持精确时间的方法详解

    Linux系统下,一般使用ntp服务来同步不同机器的时间,NTP 是网络时间协议(Network Time Protocol)的简称,下面这篇文章主要给大家介绍了关于Linux中使用NTP保持精确的时间的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-03-03
  • Linux系统架构类型的5条常用查看命令

    Linux系统架构类型的5条常用查看命令

    很多时候我们都需要查看当前 Linux 系统是 32 位还是 64 位系统架构类型,本文中我将向大家推荐 5 条常用命令,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 动态库调用静态库示例讲解

    动态库调用静态库示例讲解

    一个应用程序调用动态库, 而这个动态库其中的函数调用某静态库时,如何生成应用程序呢?看下面的代码就明白了
    2013-12-12
  • linux NFS 服务安全加固方法

    linux NFS 服务安全加固方法

    NFS(Network File System)是 FreeBSD 支持的一种文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。不正确的配置和使用 NFS,会带来安全问题,需要的朋友可以参考下
    2018-02-02
  • 如何修改Linux系统的/etc/ssh/sshd_config权限

    如何修改Linux系统的/etc/ssh/sshd_config权限

    文章描述了在修改/etc/ssh/sshd_config文件权限时遇到的问题,普通用户使用`chmod 777`命令无法修改文件权限,但切换到root用户后,问题解决,作者希望通过分享这个经验帮助他人
    2026-03-03
  • CentOS Yum编译安装MySQL 5.6

    CentOS Yum编译安装MySQL 5.6

    这篇文章主要为大家详细介绍了CentOS Yum编译安装MySQL 5.6,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论