首页 > 其他分享 >同步脚本

同步脚本

时间:2023-02-28 17:23:26浏览次数:39  
标签:脚本 rsync 同步 pdir echo host done file

#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
rpm -q rsync &>/dev/null || yum install -y  rsync
for host in es01 es02 es03
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送

    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                #7. 判断远程主机是否安装了rsync命令
                ssh $host "rpm -q rsync &>/dev/null || yum install -y  rsync"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

标签:脚本,rsync,同步,pdir,echo,host,done,file
From: https://www.cnblogs.com/jubian520/p/17165208.html

相关文章

  • C++使用curl库 以字节流方式 发送 https同步请求
     //在数据头设置 Content-Typeapplication/octet-stream否则可能会默认因为有字符&造成无法正确传输;//设置消息头curl_slist*header=NULL;header=curl......
  • PostgreSQL备份脚本
    1.直接上代码#!/bin/bash#数据库名称db_name="odoo14e"#存放备份文件的url地址base_url="/home/odoo/pgsql_backup/backup_files/"#判断是否存在存放备份文......
  • 插入车辆同步存储过程详解
    CREATEPROCEDURE[dbo].[vin]--创建存储过程+名(@vinsnvarchar(4000)--定义vins是什么数据类型)asbegin--下面执行sql语句MERGEINTO目标表1AS......
  • 免登陆,用脚本提前修改微信、企业微信、QQ的聊天路径
    为什么要改聊天路径微信、企业微信、QQ的聊天记录默认都是放在登陆用户的文档目录下面的登陆用户的文档目录路径C:\Users\%USERNAME%\Documents在我的日常工作中,碰到......
  • 写一个linux 定时器与jar的启动脚本
    1.在etc/crontab写定时执行的脚本SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root#Fordetailsseeman4crontabs#Exampleofjobdefinition:......
  • Linux 经典脚本
    编写helloworld脚本#!/bin/bash#编写helloworld脚本echo"HelloWorld!"通过位置变量创建Linux系统账户及密码#!/bin/bash#通过位置变量创建Linux系......
  • ACCESS中使用GUID全局唯一标识符的自动唯一编号[同步复制ID]之解决方法
    背景:这段时间临时为一个旅游类网站制作一些网站程序。数据表的情况大致如下:图1数据库表的大致情况由于是Access数据库,之前有两个数据表:TC_TourCompany和TC_SubDetail,前......
  • oracle 启动实例和关闭实例、及通过脚本重启oracle
    有的说要懂配置文件,太麻烦了。直接命令行操作。过程打开cmd窗口:setORACLE_SID=ORCL#设置环境变量ORCL是要启动的数据库sqlplus/assysdba#和sqlplus/nolog;......
  • doker 使用脚本清理容器日志
    编辑sh脚本,vim/var/lib/docker/containers/cleanLogs.sh输入以下内容:echo"========dockercontainerslogsfilesize========"logs=$(find./-name*-json.log)......
  • 使用redis锁还是出现同步问题
    一种可能是,2台机器同时访问,一台访问,还没有把锁设置过去的时候,另一台也查不到就会出现这个问题。解决方法这我跟写代码的方式有关。先查,如果不存在就set,这种方式有极微小的可......