远程复制的一个脚本

有这样一个要求,有N台服务器,每台服务器的端口都不一样

比如 1.1.1.1:22;

2.2.2.2:33;

3.3.3.3:55;

……

所有服务器都做成免密登录

首先写一个文件把ip和对应的端口写入
比如: 
vim scp.log

1.1.1.1:22
2.2.2.2:33
3.3.3.3:55
……

vim scp.sh

#!/bin/bash
#author:limingyu (Email:[email protected])
#this is a scp.sh

while read line
        do
                for i in $line
                        do
                                touch /tmp/scp.txt
                                echo $i > /tmp/scp.txt
                                scp /tmp/a.txt -P `awk -F: ‘{print $NF}‘ /tmp/scp.txt` [email protected]`awk -F: ‘{print $1}‘ /tmp/sc
p.txt`:/tmp/
                                echo  > /tmp/scp.txt
                        done
        done < /tmp/scp.log
时间: 2024-10-07 12:58:37

远程复制的一个脚本的相关文章

远程调用shell脚本文件和远程复制文件

1.安装sshpass yum install sshpass 2.本地调用远程服务器的shell脚本文件: sshpass -p sa ssh [email protected] -C "/bin/bash" < test.sh 3.从本地复制文件到远程服务器: sshpass -p sa scp egova-pub-ex.jar [email protected]:/egova 原文地址:https://www.cnblogs.com/zhaoyanhaoBlog/p/119

linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. [plain] view plain copy ##登录 ssh [email protected]_or_ip ##执行远程命令 ss

自动发送密码抓取远程日志用Shell脚本如何实现?

在linux系统中,如何用shell脚本抓取远程日志?分析线上的日志会有一个困境,机器太多,如果每台都登录上去看不太现实,但是下载下来更麻烦因为每台SCP都要求输入密码.于是我便写了一个自动抓取远程日志的脚本,实现在基本功能. 代码: #!/usr/bin/expect -f if { $argc !=1 && $argc !=2 } {send_user "没有输入远程日志文件名.\n"send_user "格式是:get.sh ${remote_log}

用python实现远程复制 (scp + expect )

scp 功能很强大,但需要人工输入 password, 当然可以通过把 公钥保存在远程主机的 ~/.ssh 目录中,而后就不用输入password,但这需要配置. 用 sshpass 可能在命令输入 password, 但 需要用 “sudo apt-get install sshpass” 安装 如果不想用上面两种方法,可以用 expect 编写脚本可以帮助我们自动交互 虽然 python 也提供 pexpect  模块,但既然 expect 很简单,为何不直接用 os.system() 去执

使用mysqlbinlog server远程备份binlog的脚本

#注意,备份机到远程mysql服务器需要免密钥登录,此脚本放到计划任务中每五分钟执行一次,避免mysqlbinlog server进程长时间挂掉无人知晓 cat backup_binlog.sh #!/bin/bash [ -e /etc/profile ] && source /etc/profile || exit 0 #本地binlog路径 local_binlog_dir=/data/3306/247binlog [ ! -d "$local_binlog_dir&quo

DB2与非DB2数据库之间远程复制

一.背景 DB2(DB2认证 DB2培训 ) 联合数据库(数据库培训 数据库认证 )是分布式数据库管理的特殊形式.在联合数据库系统中,可以通过一个SQL 命令来发出对多个数据源的命令请求.DB2 与非 DB2 数据库之间进行复制之前,首先需要保证非 DB2 数据源可以被 DB2 ESE Version 8 federated database访问.对于DB2 Replication Version 8 所需的联合数据库功能可以在现有发布的 DB2 ESE Version 8 和 DB2 Conn

Ubuntu下一个脚本关于键盘背光灯开启

首先我在学习Ubuntu 系统的过程中,发现我的键盘背光灯永远无法打开,(通过Scroll Lock); 所以上网百度了一个方法,通过一个脚本命令来控制键盘背光灯,(第一次接触脚本) 1.第一步打开终端通过vim 命令直接创建一个名为led.sh的脚本文件(默认读者会vim) 将下面这段脚本代码复制进去 #!/bin/bash - #=============================================================================== #

分发系统介绍、 expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

分发系统介绍 大多数企业都会有这样的需求,业务稍微大一点,它都会去做一些负载均衡,也意味着你的机器有多台,至少得两台,两台的话,你的程序是分别放在了两台机器上或者是多台机器上:假如说要添加一个新的功能,或者说你的程序有一个小bug,那这个时候你如果想这个bug修复,或者说新增一个功能的话,你要去改程序,那很多企业有svn,它是一个代码管理仓库,那我们如果把程序修改了之后呢,先传一份到svn库里边去:如果再智能自动化一点,我可以从咱们服务器上或者测试机上把svn库里的代码直接拽过来,发布到咱们的测

今天中了一个脚本病毒。把我的所有 html 加了 vbs 脚本,WriteData 是什么鬼?

今天中了一个脚本病毒.把我的所有 html 加了 vbs 脚本: WriteData 是什么鬼? <SCRIPT Language=VBScript><!-- DropFileName = "svchost.exe" WriteData = "4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000000000000000000000000000000000000000