从列表中使用SSH SCP传输文件

5

我有一份特定的文件列表需要从远程服务器复制。SCP能实现这个吗?

我知道可以使用scp {user_name}@{host}:{filepath} .复制单个文件,但是是否有办法使用.csv.txt运行循环遍历?

3个回答

9
while read file; do scp "user@host:$file" .; done <  files

谢谢!很有道理。跟进问题:每次循环我都会被提示输入密码;有没有办法避免这种情况? - psorensen
2
我非常确定 user:password@host:$file 这个命令会起作用。无论如何,关于这个问题有一个讨论串在 stackoverflow.com/questions/20430119/send-password-when-using-scp-to-copy-files-from-one-server-to-another 上。 - Gal Red Jelly Kauffman

2
我发现使用带有列表的tar比逐个通过scp发送文件更容易: tar -czvf archive.tar.gz -T file-list.txt && scp archive.tar.gz user@host:/path/ 我在没有rsync的系统上使用这种方法,这样你也可以避免迭代密码提示或TCP / SSH连接限制。

0
scp `cat /path/to/file` login@remote_host

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接