免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3423 | 回复: 11

[系统管理] scp 命令的假想 [复制链接]

论坛徽章:
0
发表于 2012-12-03 23:31 |显示全部楼层
必要的环境说明
以3台服务器为例:
服务器 test  是登陆服务器。
服务器1   app1
服务器2   mysql

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

app1 与 mysql 两台服务器,不能互相ssh。

test 登陆服务器,能ssh app1 和 mysql (key文件登陆方式,禁止root用户远程密码登陆。)

经常需要从mysql服务器 scp 文件到 app1 服务器上去。

我只会笨办法,登陆mysql 服务器,tar 打包。在test服务器 scp mysql:/data/aaa.tar.gz ./
然后 scp aaa.tar.gz app1:/data/www/

我总感觉能把打包文件,用一条命令,直接把 mysql服务器打包文件 scp 到 app1去。

即:不用把文件scp到 test 中转,然后 在test上 scp 到 app1

下面假象命令效果(测试过不成功的)
在 test 服务器上执行: scp mysql:/data/aaa.tar.gz  app1:/data/www/
文件不在本地生成,数据流经过test服务器,然后 直接 scp 到 app1 上去。

这个想法能实现吗?

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2012-12-03 23:45 |显示全部楼层
可以, 只是实现方式要改一下.
  1. ssh mysql 'tar -czf - xxx' | ssh app1 'tar -xzf -C /path/to/dir -'
复制代码
你试一下先. 我手上只有一台机器,没法测试.
我有点不记得 tar -xzf 后面的参数顺序了.

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2012-12-04 09:51 |显示全部楼层
tar 支持scp来传的 但我觉得没多少必要。。。

论坛徽章:
0
发表于 2012-12-04 10:13 |显示全部楼层
回复 3# to407


    为什么没必要啊? 平时也方便很多的,一条命令就搞定了。还可以写个小脚本。

论坛徽章:
0
发表于 2012-12-04 10:19 |显示全部楼层
回复 2# q1208c


    哈哈,谢谢你。 tar - 数据流方式成功了。命令如下:
        ssh mysql 'cd /root;tar -czf - test.txt'|ssh app1 'tar -xzf - -C /root/ '

论坛徽章:
0
发表于 2012-12-04 14:08 |显示全部楼层
这都能行!mark一下

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2012-12-04 22:38 |显示全部楼层
回复 5# lxxpsp2007


以前经常这么搞. 只是有阵子没搞了, 我记不清顺序了.

如果有多台机器要用, 你可以试试 tee 放在中间. 可以串很多台的. 不过, 我没试过, 而且, 数据量大了可能会有问题, 在数据少的时候你可以试试.

另外, 不建议你这样同步 root 的 $HOME, 如果不小心搞错了的话, 你 ssh的key就没有了, 你后面所有的命令都会失败的.     

论坛徽章:
0
发表于 2012-12-06 12:40 |显示全部楼层
回复 7# q1208c


    tee 请问该咋用啦,我测试了。不成功。
     测试命令 : ssh vhost  'cd /opt;tar -czf - test.txt'|tee ssh vhost2  'tar -xf - -C /opt' - C  ssh vhost2  'tar -xf - -C /opt'

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2012-12-06 14:38 |显示全部楼层
回复 8# lxxpsp2007

试试这个
  1. ssh mysql 'cd /root;tar -czf - test.txt'|tee ssh vhost1 'tar -xzf - -C /root/ ' | tee ssh vhost2 'tar -xzf - -C /root/ '
复制代码

论坛徽章:
0
发表于 2012-12-07 11:16 |显示全部楼层
回复 9# q1208c


    太感谢了。 这条命令能拓宽我对linux 思想的 思路。
    可能高手觉得没什么,我新手,启发啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP