scp命令:

scp [options] SRC... DEST/
两种方式:

  • scp [options] [user@]host:/sourcefile /destpath
  • scp [options] /sourcefile [user@]host:/destpath
常用选项:
-C 压缩数据流
-r 递归复制
-p 保持原文件的属性信息
-q 静默模式
-P PORT 指明remote host的监听的端口

示例一:

scp root@192.168.34.100:/data/f1  /data/    从192.168.34.100机器的/data/目录下复制f1文件到本地/data/目录下。
scp /data/f1 192.168.34.100:/data/ 将本地data下的文件复制到100的data目录下。

示例二:

也可以在基于key验证后,不需要输入口令,直接从本地远程机器一将文件复制到远程机器二上去:

scp 192.168.34.100:/data/f1  192.168.34.101:/data/
将192.168.34.100的data下的f1文件复制到远程机器data下,实现远程操作两个机器。

示例三:

scp -r  /data/bak/ 192.168.34.100:/data/                 将data下bak目录以下的所有文件复制到100IP的data下
scp -r 192.168.34.100:/data/bak 192.168.34.200:/data/ 将IP100的data下bak目录复制到200IP的data下,实现远程操作两个机器功能rsync命令:

rsync命令:

(1)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。

(2)rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

(3)rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

(4)基于ssh和rsh服务实现高效率的远程系统之间复制文件

 使用安全的shell连接做为传输方式

rsync -av /etc  server1:/tmp    因为/etc后面没有/,就会复制目录和目录下文件
rsync -av /etc/ server1:/tmp 因为/etc/后面有/,只复制目录下文件

比scp更快,只复制不同的文件

常用选项:

-n 模拟复制过程

-v 显示详细过程

-r 递归复制目录树

-p 保留权限

-t 保留时间戳

-g 保留组信息

-o 保留所有者信息

-l 将软链接文件本身进行复制(默认)

-L 将软链接文件指向的文件复制

-a 存档,相当于–rlptgoD,但不保留ACL(-A)和SELinux属性(-X)

rsync和scp复制类似,但是rsync复制的更快,后缀不加/,就会复制不同文件的目录,复制效率更高。

示例:

rsync  192.168.34.100:/data/test /data/    将192.168.34.100的/data/test目录文件都复制到本地/data/下,注意test后面没有/代表复制了整个目录
rsync 192.168.34.100:/data/test/ /data/ 如果带了/只是将test下面的文件复制到本地data目录下,不包含test目录文件名。

pssh工具

pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制

选项如下:

--version:查看版本

-h:主机文件列表,内容格式”[user@]host[:port]”

-H:主机字符串,内容格式”[user@]host[:port]”

-A:手动输入密码模式

-i:每个服务器内部处理信息输出

-l:登录使用的用户名

-p:并发的线程数【可选】

-o:输出的文件目录【可选】

-e:错误输入文件【可选】

-t:TIMEOUT 超时时间设置,0无限制【可选】

-O:SSH的选项

-P:打印出服务器返回信息

-v:详细模式

安装pssh包:

yum install pssh

示例:

在远程连接多个主机操作时,需要实现key验证功能,不需要密码就会直接执行当前的操作。

pssh -H "192.168.34.100 192.168.34.200" -A -i ifconfig eth0   远程连接两个IP主机并手动输入密码将IP地址打印出来,如果不输入-A就会基于KEY验证,不需要输入密码。
pssh -h iplist.txt -i ifconfig eh0 也支持输出文件的格式进行远程连接。
[root@centos7.ssh]#pssh -H "192.168.34.100 192.168.34.200" -A -i rm -rf /data/*  对远程主机执行删除命令,命令有-A,需要输入口令远程操作删除文件。
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 19:02:10 [SUCCESS] 192.168.34.100
[2] 19:02:10 [SUCCESS] 192.168.34.200

也可以将IP地址写入iplist.txt文件中,直接调用文件加-h批量远程操作:

 cat iplist.txt
192.168.34.100
192.168.34.200
192.168.34.101
1)pssh -h iplist.txt -i useradd nginx 远程连接IP多个地址批量创建账号
2)pssh -h iplist.txt -i 'rm -rf /data/*' 远程删除指定的多个IP地址data目录下的文件,注意加上单引号,加上双引号只会识别本地内容,不加则无法识别。
3)pssh -h iplist.txt -i '$HOSTNAME'
4)pssh -H 192.168.1.10 -o /app -e /app -i “hostname” 将标准错误和标准正确重定向都保存至/app目录下

pscp.pssh命令

pscp.pssh功能是将本地文件批量复制到远程主机

pscp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o

outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] local remote

pscp.pssh选项

-v 显示复制过程

-r 递归复制目录

示例:

pscp.pssh  -h /root/iplist.txt  /data/f1.sh  /data/  将本地data下的f1.sh文件复制到其他(iplist为远程主机的IP地址)data下。
pscp.pssh -H 192.168.1.10 /root/test/ /data/ 将本地的test文件复制到远程192.168.1.10主机下的data下。 
pscp.pssh -H 192.168.1.10 /root/f1.sh /root/f2.sh /data/ 将本地的root下多个文件复制到192.168.1.10主机data下。
pscp.pssh -H 192.168.1.10 -r /root/test/ /data/ 将本地的目录复制到192.168.1.10主机的data下。

pslurp命令

pslurp功能是将远程主机的文件批量复制到本地

pslurp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par]

[-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] [-L localdir] remote local(本地名)

pslurp选项

-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称

-r 递归复制目录

示例:

pslurp -H 192.168.1.10 -L /data/ /etc/passwd user  批量下载目标服务器的passwd文件至/data下,并更名为user
pslurp -h /root/iplist.txt -L /data/ /data/f1 f1.bak iplist.txt里边有远程主机的IP地址,然后将远程主机的/data/f1文件复制到本机的/data/下取名叫f1.bak 

 

远程操控批量复制应用(scp/pssh/pscp.pssh/rsync/pslurp)的更多相关文章

  1. pssh,pscp,pslurp使用实践

    因为常常须要到几十台机器上运行同样的命令,而眼下机器上还没有部署Saltstack或Puppet等集群化管理工具. 因为每台server上都使用同样的公钥,故之前都是写一些脚本:把IP 放到一个文件里 ...

  2. 轻量级运维工具-pssh,pscp,prsync,pslurp,pnuke

    批量执行,并行传输,远程killall #yum安装 yum install pssh -y #yun安装后pscp改名为pscp.pssh #源码编译 wget https://pypi.pytho ...

  3. Linux SSH远程文件/目录传输命令scp

    转载地址:http://www.vpser.net/manage/scp.html 相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Ngi ...

  4. LInux SSH远程文件/目录传输命令scp(转载)

    From:http://www.vpser.net/manage/scp.html 相信各位VPSer在使用VPS是经常会在不同VPS间相互备份数据或转移数据.一般情况下VPS都已安装了Ngnix或者 ...

  5. 【转】批量复制操作(SqlBulkCopy)的出错处理:事务提交、回滚

    原文地址:http://blog.csdn.net/westsource/article/details/6658109 默认情况下,批量复制操作作为独立的操作执行. 批量复制操作以非事务性方式发生, ...

  6. linux批量复制或删除同命名规则的文件

    如图所示,有多个不同后缀的文件,但他们的前缀都是"QC_TZ.impute." 此时想批量复制图中的文件的话,可以考虑用命令行 cp QC_TZ.impute.* /your/de ...

  7. Windwos服务器远程桌面不能复制粘贴的解决方法

    今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行. 网上搜了一下,主要有两种情况: 1.复制粘贴功能原本可以用,突然失灵了2.从头到尾都无法使用这个 ...

  8. 数据库调优过程(一):SqlServer批量复制(bcp)[C#SqlBulkCopy]性能极低问题

    背景 最近一段给xx做项目,这边最头疼的事情就是数据库入库瓶颈问题. 环境 服务器环境:虚拟机,分配32CPU,磁盘1.4T,4T,5T,6T几台服务器不等同(转速都是7200r),内存64G. 排查 ...

  9. Allegro批量复制Via并保持net属性

    使用Allegro时须要批量复制net属性是GND或是其他属性的Via: 批量选中Via后点击Copy或'Shift+F5' 然后完毕复制,如图: 复制完.我们可能发现,这些复制的Via的net属性不 ...

随机推荐

  1. 游戏数值——LOL篇 以LOL为起点-说游戏数值设计核心思路

      附     文   文档在今年三月份我动笔写了一小部分,但当时思路凌乱,行文梗阻,于是丢在一边构思了半年,现在又回过头来慢慢写,希望能写好写完吧,初衷是希望即时萌新也能看懂,但是好像并不能行——本 ...

  2. 【从零开始搭建K8S】【第一篇】CentOS7.6离线安装Docker(手动安装以及基于yum本地源安装)

    下载CentOS7.6以及最小化安装CentOS7.6版本.由于CentOS属于开源软件,在国内也有很多的mirror站点可供下载,我选择的是华为站点进行下载:http://mirrors.huawe ...

  3. The request was rejected because the URL contained a potentially malicious String ";"报错解决

    报错信息 浏览器中看到的报错 错误摘要: The request was rejected because the URL contained a potentially malicious Stri ...

  4. 同一个ip,不同端口号,cookie会被覆盖

    参考资料:https://blog.csdn.net/czh500/article/details/80420459

  5. navicat破解版的下载与激活

    原文链接:http://www.cnblogs.com/djwhome/p/9289295.html 以前一直使用的老版的破解版的navicat,但是最近老是报错 而且连接还特别慢,今天终于不忙了额, ...

  6. 《C程序设计语言》学习笔记

    1. 在C程序中,如果字符串过长而需要跨行时,要在换行时加上“\”. printf("Hello, world"); // error printf("Hello, wo ...

  7. SQL SERVER导入EXCEL文件:无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的实例。

    [方法一] --开启导入功能    exec sp_configure 'show advanced options',1    reconfigure    exec sp_configure 'A ...

  8. 使用pycharm开发web——django2.1.5(一)入坑尝试第一步,基本搭建

    首先,接触python的人应该都会用pip 来安装需要的包吧(------>>>>)默认 在运行中使用python -m django --version来检查自己的djang ...

  9. 【LOJ】#3097. 「SNOI2019」通信

    LOJ#3097. 「SNOI2019」通信 费用流,有点玄妙 显然按照最小路径覆盖那题的建图思路,把一个点拆成两种点,一种是从这个点出去,标成\(x_{i}\),一种是输入到这个点,使得两条路径合成 ...

  10. JZOJ.1153【贪心算法】硬币交换

    好难啊!!! 可聪明的我还是解出来了!(逃 题目描述 小z最近迷上了一款游戏――To Be A Farmer,他在游戏中控制的人物是一个叫FZ的Farmer.FZ身上有G1个金币.S1个银币和B1个铜 ...