linux文件远程传输客户端shell脚本与分布式客户机时间同步脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件远程传输客户端shell脚本与分布式客户机时间同步脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash
# 将代码和脚本传送至worker节点
# 改变当前工作目录
cd ${AMAZONCRAWLER_HOME}
#读取worker节点ip列表
i=0
while read line1
do
    #去除空格
    line1=`echo $line1 | sed s/[[:space:]]//g`
    #若为空则忽略本行
    if [ "$line1"x = x ]; then
        continue
    fi
    #若是注释行 忽略
    startChar=${line1:0:1}
    if [ "$startChar"x = "#"x ]; then
        continue
    fi
    #存储至worker_ips数组
    worker_ips[$i]=$line1
    ((i++))
done < ./conf/system/worker
#读取service列表
i=0
while read line1
do
    #去除空格
    line1=`echo $line1 | sed s/[[:space:]]//g`
    #若为空则忽略本行
    if [ "$line1"x = x ]; then
        continue
    fi
    #若是注释行 忽略
    startChar=${line1:0:1}
    if [ "$startChar"x = "#"x ]; then
        continue
    fi
    #存储至services数组
    services[$i]=$line1
    ((i++))
done < ./conf/system/services
worker_ips[0]=59.77.132.28
for worker_ip in ${worker_ips[*]}
do
    echo ------------------------------------------
    echo copy to ${worker_ip}
    ssh -p 22 [email protected]${worker_ip} "(. /etc/profile;mkdir -p ${AMAZONCRAWLER_HOME}/conf/system)"
    scp conf/system/configuration.properties conf/system/chromedriver [email protected]${worker_ip}:${AMAZONCRAWLER_HOME}/conf/system
    for service in ${services[*]}
        do
            ssh -p 22 [email protected]${worker_ip} "(. /etc/profile;mkdir -p ${AMAZONCRAWLER_HOME}/SharedStorage/${service})"
            scp -r SharedStorage/${service}/*.jar [email protected]${worker_ip}:${AMAZONCRAWLER_HOME}/SharedStorage/${service}
            scp -r SharedStorage/${service}/*.sh [email protected]${worker_ip}:${AMAZONCRAWLER_HOME}/SharedStorage/${service}
        done
    scp -r SharedStorage/*.sh [email protected]${worker_ip}:${AMAZONCRAWLER_HOME}/SharedStorage
done

 多服务机同步时间

#!/bin/bash  
   
 #变量定义  
ip_array=("59.77.233.195" "59.77.233.197" "59.77.233.196" "218.193.126.186" "218.193.126.188" "218.193.126.191" "218.193.126.192")  
user="fzuir"  
cmd="sudo date -s ‘2016-9-24 16:34:00‘" 
port="22"
   
 #本地通过ssh执行远程服务器的脚本  
for ip in ${ip_array[*]}  
do 
    ssh -t -p $port $user@$ip $cmd 
done

 

以上是关于linux文件远程传输客户端shell脚本与分布式客户机时间同步脚本的主要内容,如果未能解决你的问题,请参考以下文章

linux怎么远程执行另一台linux机器上的shell文件?

Linux 串口传输文件到Window系统去

shell脚本每天自动进行数据库备份与远程复制

Linux FTP远程备份shell脚本命令

linux下如何使用ssh远程登录主机 执行shell脚本?

DAY-10 Linux基础及shell脚本