Linux 按文件扩展名将文件递归复制到远程服务器
我想将所有文件Linux 按文件扩展名将文件递归复制到远程服务器,linux,recursion,scp,Linux,Recursion,Scp,我想将所有文件*.txt复制到远程服务器。 我试过: find-名称'*.txt'-exec scp{}user@server:目录“;” 但每次找到文件时,它都会询问密码 你有没有更好的办法? 非常感谢。也许您可以用ls试试我们的grep: scp `/bin/ls |grep '.txt'` user@destination:/path/to/copy/ 它将只请求一次密码;-) 更新: 对于递归复制,可以使用树(必须先安装) 您需要设置私钥/公钥身份验证,如下所述: 这样,在将scp文
*.txt
复制到远程服务器。
我试过:
find-名称'*.txt'-exec scp{}user@server:目录“;”
但每次找到文件时,它都会询问密码
你有没有更好的办法?
非常感谢。也许您可以用
ls
试试我们的grep
:
scp `/bin/ls |grep '.txt'` user@destination:/path/to/copy/
它将只请求一次密码;-)
更新:
对于递归复制,可以使用树(必须先安装)
您需要设置私钥/公钥身份验证,如下所述:
这样,在将scp文件发送到远程服务器时,您将永远不会被要求输入您的用户密码。-名称*.txt`user@server:directory或
ssh copy id server
,后跟originalfind-name…
@jsp:它不起作用:(如果您需要经常做类似的事情,那么还值得学习如何使用rsync
@Hoa-Vu哪一个?ssh-copy-id或带有反勾号的scp?这不包括子目录,最好使用注释中的scp`find.-name…
)above@jsp:你说得很对,但它还是回来了“find.-name*.txt:没有这样的文件或目录”但他想要递归复制吗?@Hoa-Vu-oops忘记了在“*.txt”@Hoa-Vuscp`find.-name'*.txt`周围加上单引号user@server:目录
scp `tree -if --noreport .|grep ".txt"` user@destination:/path/to/copy/