登录22后tar 压缩/var/log目录输出到标准输入通过管道传到本地22_log.tar.gz文件
ssh 192.168.0.22 "cd /var ;tar -zcvf - log"|cat >22_log.tar.gz
在提取存档文件时,会在相对位置重新创建文件。可以使用这种方法帮助同步目录。因为 tar 创建目录结构的字节流,可以通过结合使用 tar 和管道把文件从一个位置复制到另一个位置:$ tar cf - ./etc |( cd /backup; tar xf - )。“-” 指定 tar 应该使用标准输出(在写时)或标准输入(在读时)。圆括号让语句在一个子 shell 中执行。看一下管道符前面的代码,它创建文件的字节流并发送到标准输出。在管道符后面,切换到另一个目录,然后从标准输入提取字节流。

要想保留文件的所有者和权限,可以使用 p 选项保留每个文件和目录的元数据:$ tar cfp - ./etc |( cd /backup; tar xfp - )。

掌握这种基本结构之后,就可以执行更复杂的操作。例如,可以只复制在特定时间之后修改过的文件:$ tar cf - --newer 20090101 ./etc |(cd /backup; tar xf - )。这个命令创建在 2009 年 1 月 1 日之后修改过的文件的拷贝。

通过与 rsh 或 ssh 结合使用,还可以把文件同步到远程主机:$ tar cfp - ./etc |(ssh user@host -- tar xfp -)。按照这种方式使用 ssh 和 tar 是在远程主机上创建本地文件备份的好方法。但是,还有更高效的信息同步方法。

1、在A机压缩后,复制到B机器并解压缩
tar -cf - /opt/dir1 | ssh 192.168.0.116 "cd /opt; tar -xf -"

2、在A机压缩,并将压缩文件复制到B机
tar -cf - /opt/dir1 | ssh 192.168.0.116 "cd /opt; cat - > dir1.tar"

3、将A机的压缩文件,复制到B机并解压缩
zcat dir.tar | ssh 192.168.0.116 "cd /opt; tar -xf -"

传输到远程:tar czf - file| ssh server "tar zxf -"

压缩到远程:tar czf - file| ssh server "cat > file.tar.gz"

解压到远程:ssh server "tar zxf -" < file.tar.gz

解压到本地:ssh server "cat file.tar.gz" | tar zxf -

-----------------------------------------------------------------

$target 表示目的机器,指远端机器
$backup_server 表示备份机器,同样也是指远端机器
$save 则是指备份目录

要求远端备份并拉回 local
ssh $target tar -cf - / --exclude /mnt | bzip2 -9 | cat > $target.tar.bz2

解开本地备份并回存到远端去
bunzip2 -dc $target.tar.bz2 | ssh $target "cd /;tar -pxkf -"

备份 local 资料,丟到远端去压缩并存档
tar cf - / --exclude xxx | ssh $backup_server "bzip2 -9 > $save/test.tar.bz2"

把远端资料拉回 local,作解压缩动作
ssh $backup_server "cat $save/test.tar.bz2" | bunzip2 | tar -xpkf -

在本地脚本放在远程执行

cat myscript.sh | ssh kramer /bin/sh
hostname
date
w
ifconfig
ps -ef | grep http | awk '{print $NF}'

在远程较长的管道命令(这个同样可以用上面的脚本方式执行)
  1. #! /bin/sh
  2. ssh172.16.1.2 <<EOF
  3. sa=`/usr/sbin/alternatives --config java 2>& 1`
  4. echo"Result:"
  5. echo"$sa"
  6. echo
  7. echo"Will I find anything when I look in that result for jdk1.6.0_05 ???"
  8. echo"$sa" | grep"jdk1.6.0_05"
  9. echo"Nope. I thought not! But the reason should be clear now!"
  10. EOF

ssh技巧


远程比较文件
ssh remote-hosts cat memos/memo.draft | diff memos.new -
cat memos.new | ssh speedy diff - memos/memo.draft#diff <(ssh -n george cat /etc/passwd) <(ssh -n kramer cat /etc/passwd)
打包文件并直接传递到远程目录解开(不在本地生成文件)
tar cf - some_directory | ssh kramer "( cd /path/to/destination; tar xf - )"

ssh 192.168.100.166 tar -cf - /var/www/html/centos/5/repodata |cat > tt.tar
ssh 192.168.10.145 tar -czf - '--exclude=*.gz' '--exclude=*.tgz' '--exclude=*.tar' /a8root/phpweb/website/p_w_picpaths
直接获取远程文件tar并在本地保留
ssh 192.168.100.166 "find /var/www/html/centos/5/repodata -depth -print | cpio -oaV" | cat > tt.cpio

转载于:https://blog.51cto.com/fengmx/919644

ssh tar 命令把远程文件拉回来或推过去相关推荐

  1. 在VM中安装vmware-tools ,使用tar命令解压文件时显示无法mkdir:只读文件系统

    以下针对所有Linux的发现版均可使用 使用tar命令解压文件时显示无法mkdir:只读文件系统,其实这个与系统无关,与VMwareTools-xxx.tar.gz的目录有关,安装vmwareTool ...

  2. Linux SSh scp使用【远程文件/目录的传输】

    一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...

  3. rsync 一条命令实现远程文件传输

    rsync简介: rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. 它的特性如特点: 1.可 ...

  4. Linux scp命令 复制远程文件和目录到本地

    有个任务,要读取远程机器上的数据文件. 这个机器登录需要密钥,直接写代码远程连接读取貌似很麻烦,pass 又没有可以中间存放文件的服务器,搭个ftp也略麻烦, 因为要本地测试,读取远程文件ok的话也是 ...

  5. 记录下linux系统tar命令解压文件时碰到的问题

    使用tar -zxvf test.tar.gz解压文件时报错: gzip: stdin: not in gzip format   --不是Gzip格式 tar: Child returned sta ...

  6. tar命令解压文件后造成目录权限更改

    Question: 最近在用shell编写软件包的一键部署时发现一个有趣的现象:软件安装包中包含一些第三方的压缩包,这些压缩包本身的用户组权限为root,但解压后的目录的所有者权限却变更为1001,如 ...

  7. scp命令获取远程文件

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响 ...

  8. linux命令跨进程拷贝文件,linux scp命令安全远程文件复制程序

    功能描述 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. ...

  9. 五、Jenkins系列_使用scp命令进行远程文件复制遇到的坑

    一.场景介绍 项目为微服务项目,使用jenkins进行统一部署.基本思路是 1. 在jenkins服务器上使用git插件拉取项目代码 2. 使用gradle进行打包 3. 将打好的jar包使用scp远 ...

最新文章

  1. 格式化verilog/systemverilog代码插件
  2. MySQL 学习笔记(1)— 创建/连接/选择/显示数据库(表) 查询单列(多列/所有列)/查询返回特定的行数 各种排序(单列/多列/降序/组合排序) 过滤数据
  3. linux如何设置awesome字体,Awesome简单配置
  4. CNN数玉米穗--TasselNet: Counting maize tassels in the wild via local counts regression network
  5. Linux 模拟网络丢包和延迟命令
  6. php缓存实例,一个PHP缓存类实例
  7. react常用知识点总结
  8. hyperledger fabric_鼎诚鬼才|超级账本入门(四):HYPERLEDGER 权限管理
  9. java集成测试_基于TestNG+Mockito及自动装配注解的Spring MVC集成测试
  10. Java虚拟机笔记(五):JVM中对象的分代
  11. Python基础学习总结、学习展望
  12. wxpython开发实例_Python中使用wxPython开发的一个简易笔记本程序实例
  13. AI+教育落地,百度大脑如何让校园更智能?
  14. 手机组态软件 APP监控台达PLC C#全套源代码,C#开发上位机手机APP
  15. HIT计算机系统大作业——hello的一生
  16. Start11软件1.0版发布:如果适应了win10或win7的系统,可一键将win11改回
  17. 关于图像傅里叶变换得到的频谱图的通俗理解
  18. 【报告分享】2021母婴行业白皮书-巨量引擎(附下载)
  19. U盘文件夹变成快捷方式解决方案
  20. VS (Visual Studio) 魔兽插件开发工具 AddOn Studio for WOW 1.0 含有LUA编辑

热门文章

  1. 揭秘丨“北京八分钟”里中国制造的科技力量
  2. 到2020年,智能手机将拥有十项AI功能,有些可能会出乎你意料
  3. 李彦宏乌镇谈人工智能:百度会很快和雄安宣布一个大的智能城市计划
  4. Python 之 Pandas (四)处理丢失数据
  5. (超级详细)jit的介绍和用法
  6. Point-to Analysis指针分析(2)
  7. 杨振宁:宇宙有没有造物者?
  8. 为什么航空发动机那么难造?看看3D工作原理
  9. 图解|2018年度中国科学十大进展
  10. 新一轮全球“太空竞赛”正上演 争夺几万亿美元大蛋糕