我有一个文件列表:/location/file.txt
文件内容:
/location1/file2.abc
/location2/location3/file1.abc
/location4/location5/fileX.cde
Run Code Online (Sandbox Code Playgroud)
我想像这样将文件复制到另一台服务器:
cat /location/file.txt | xargs -i scp {} user@server:/location
Run Code Online (Sandbox Code Playgroud)
但是在上面的示例中,列表中的所有文件都复制到特定位置,而我想将它们复制到相同位置(txt 文件 /location1/、/location2/location3/ 等中的准确路径)。
我该怎么做?我也可以使用 rsync,但我只想输入一次密码(到远程服务器)。
rsync -av --files-from=/location/file.txt / user@server:/location/
Run Code Online (Sandbox Code Playgroud)
这会将本地文件复制/location1/file2.abc到/location//location1/file2.abc等。
由于rsync只会调用ssh一次,因此您只需输入一次密码。不过,您可能想使用 ssh 密钥进行调查。