免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7801 | 回复: 8
打印 上一主题 下一主题

scp 如何才能做到一次 取2个文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-04 13:28 |只看该作者 |倒序浏览
我的需求如下:
2台 机器  a b

a 机器 /home/a 目录下有2个文件m.sql  n.sql。   (该目录有大量文件)


b机器 需要每隔10分钟 从a机器那个目录把那2个文件取到本地
我在b机器用scp命令来取a机器的2文件
scp a@servername :/home/a/m.sql  /home/b        ----成功通过。 但是不能一次取2个,非要执行2次
发现这个scp 如何才能做到一次 取2个文件?     (反过来是ok , scp x.sql y.sql  a@servernameL/home/a  但是防火墙有堡垒限制 导致反向不允许)
(目录是 scp -r a@servername :/home/a/*  /home/b   但是这个目录不允许创建。 只能用文件读取)

论坛徽章:
0
2 [报告]
发表于 2010-06-04 14:03 |只看该作者
只需这样就行:
scp a@servername :/home/a/m.sql a@servername :/home/a/n.sql  /home/b
或者你做一个authorized_keys文件,每次远程复制都不用输入密码

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
3 [报告]
发表于 2010-06-04 14:04 |只看该作者
scp * user@host:/pwd ? 给命令一个准确的参数。

论坛徽章:
0
4 [报告]
发表于 2010-06-04 14:05 |只看该作者
非常感谢 已经做了authorized_keys文件  完美解决

请问在SSH中怎样一次下载多个文件夹???:)
http://www.chinaunix.net 作者:julianxuyu  发表于:2004-03-18 10:27:04
【发表评论】【查看原文】【Linux讨论区】【关闭】

我用"get 文件名"只能在那机子上从远程的另一个FTP上下载文件,不能下载文件夹.如下: :~>;get 1(注: 1是文件夹名)
get: Access failed: 550 1: Not a regular file
我用mirror 1 2 (注: 1与2 都是文件夹名)命令后
得到的是先下载了文件夹1 ,然后用把1的名字改为2的名字,也就只是下载前面个文件夹,后面的那个只起改名的作用
哪位能告诉我在这种情况下怎么一次下载多个文件夹?这对我真的很重要,多谢了
                                        ~~~


fzgang 回复于:2004-03-17 08:32:57

用NCFTP

maozi 回复于:2004-03-17 09:59:09

scp

julianxuyu 回复于:2004-03-17 11:09:30

是这样用吗?:
ncftp 【 -u user 】 192.192.73.9
可是不行啊,我是用SSh远程登录其他的服务器上,再在上面连接其他的服务器,我远程登录的服务器没有安装ncftp软件啊:)

SCP命令是怎么用的??
比如说我要把远程的两个文件夹(文件夹1与文件夹2)下过来:

lftp dff@202.205.2.26:~/2/11/music>; scp 1 2
Unknown command `scp'
用不了啊?
大哥能不能再给我说说??:)

badseed 回复于:2004-03-17 11:54:03

用这个软件 securefx

julianxuyu 回复于:2004-03-17 12:46:09

楼上说用那位说用secureFX 的是不是没有理解我的意思啊??
我说的是要远程登录那台机子后用那台机子去下其他服务器上的东西,
                            ~~~~~~~~~~~~~~~~

SECUREFX我刚安装了,可是并没有我说的那种功能啊(用那软件我等陆远程机后就不能在那远程机上再登录其他机子了)?????:)
我是要用远程登录的那台机子的IP(不计流量等等)来下载其他服务器上的东西,
所以肯定要用到命令行,我只是问在F-Secure SSH里的shell环境下用什么命令可以一次下载多个文件夹,就象MIRROR 1 2 这种,楼上几位都是给我几个
非shell环境的软件,都对我这种情况没有用啊???
包托各位再为我想想办法:)
多谢多谢了:)

julianxuyu 回复于:2004-03-17 14:16:52

各位大侠帮帮忙啊:)

luckyzhang 回复于:2004-03-17 14:27:03

scp -r 服务器ip:/文件路径 本地路径

julianxuyu 回复于:2004-03-17 16:18:58

scp -r 服务器ip:/文件路径 本地路径
                ~~~~我主要是想问的是这个是多文件夹的话这么办??:)
按你所说是不是象这样:scp -r share@202.205.2.56:/etc/test1/tmp1   /etc/test1/tmp2  /tv/pub
(其中:/etc/test1/tmp1与/etc/test1/tmp2是要下载的文件夹   而/tv/pub是下载到的本地目录)
这样行吗??好像有点问题,它怎么识别前两个是要下载的文件夹而后面个本地目录呢???看上去怎么象改名了??

xhl 回复于:2004-03-17 16:20:33

好问题,UP

peter333 回复于:2004-03-18 00:15:40

try "scp -r @202.205.2.56:/etc/test1/tmp* /tv/pub"

badseed 回复于:2004-03-18 00:34:19

secureFX 可以在几台机器之间拷贝文件

Linux@初学者 回复于:2004-03-18 00:39:54

用 ,SSH secure SHELL不错啊
我就用这个哟!

julianxuyu 回复于:2004-03-18 10:22:48

引用:原帖由 "peter333"]try "scp -r @202.205.2.56:/etc/test1/tmp* /tv/pub"
发表:


大哥,我要的是一次下载多个文件夹,不是单个文件夹,单个文件夹的话,
用: "mirror -cr 文件夹名" 可以很好地达到目标,还可以自动续传,但是真的不好处理多个文件夹的问题
要是实在不行,我就只有一个一个文件夹的MIRROR了,那好累啊

julianxuyu 回复于:2004-03-18 10:27:04

引用:原帖由 "badseed"]secureFX 可以在几台机器之间拷贝文件
发表:


艾,我的操作离不开SHELL的VI环境啊
要不然我早用FLASHFXP了




原文链接:http://linux.chinaunix.net/bbs/viewthread.php?tid=282225
转载请注明作者名及原文出处

scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。
把本地文件传输给远程系统的一般语法是:
scp localfile username@tohostname:/newfilename
localfile 指定源文件,username@tohostname:/newfilename 指定目标文件。
要把本地文件 shadowman 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名):
scp shadowman username@penguin.example.net:/home/username
这会把本地文件 shadowman 传输给 penguin.example.net 上的 /home/username/shadowman 文件。
把远程文件传输给本地系统的一般语法是:
scp username@remotename:/remotefile /newlocalfile
remotefile 指定源文件,newlocalfile 指定目标文件。
源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 penguin.example.net 上现存的 uploads 目录,在 shell 提示下键入下列命令:
scp /downloads/* username@penguin.example.net:/uploads/


a=`pwd`
for in in `cat servers`;
do
mkdir some;
cd some && scp ...${i}.. &
cd ${pwd}
done

论坛徽章:
0
5 [报告]
发表于 2010-06-04 14:14 |只看该作者
你贴出来的东西太多了,看得眼花,你要实现的就是把远程的文件复制到本地对吧?为什么不做一个ntfs呢?把远程的硬盘共享并挂载到本地,直接cp就行了

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
6 [报告]
发表于 2010-06-04 15:56 |只看该作者
scp a@servername :/home/a/{m.sql,n.sql}  /home/b/

比较有意思的是,竟然要做两次密码验证

论坛徽章:
0
7 [报告]
发表于 2010-06-05 22:08 |只看该作者
楼主把你的解决方法贴出来哈,看了半天眼花了

论坛徽章:
0
8 [报告]
发表于 2011-04-23 10:35 |只看该作者
scp -r share@202.205.2.56:/etc/test1/tmp1   /etc/test1/tmp2  /tv/pub

scp -r @202.205.2.56:/etc/test1/tmp* /tv/pub"
没有测试过

论坛徽章:
0
9 [报告]
发表于 2011-04-23 11:48 |只看该作者
ssh 127.0.0.1  "cd test;tar c dir1  dir2" | tar xv
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP