我想复制文件从/到远程服务器在不同的目录。 例如,我想一次运行这4个命令。
scp remote:A/1.txt local:A/1.txt
scp remote:A/2.txt local:A/2.txt
scp remote:B/1.txt local:B/1.txt
scp remote:C/1.txt local:C/1.txt
最简单的方法是什么?
我想复制文件从/到远程服务器在不同的目录。 例如,我想一次运行这4个命令。
scp remote:A/1.txt local:A/1.txt
scp remote:A/2.txt local:A/2.txt
scp remote:B/1.txt local:B/1.txt
scp remote:C/1.txt local:C/1.txt
最简单的方法是什么?
当前回答
scp remote:"[A-C]/[12].txt" local:
其他回答
{file1,file2,file3}的答案仅适用于bash(在远程或本地)
真正的方法是:
scp user@remote:'/path1/file1 /path2/file2 /path3/file3' /localPath
你可以这样做:
scp hostname@serverNameOrServerIp:/path/to/files/\\{file1,file2,file3\\}.fileExtension ./
这将把所有列出的文件名下载到您所在的本地目录。
确保每个文件名之间不要有空格,只使用逗号。
scp -r root@ip-address:/root/dir/ C:\Users\your-name\Downloads\
使用-r可以下载远程服务器的dir目录下的所有文件
在特定的情况下,所有文件具有相同的扩展名,但具有不同的后缀(例如日志文件的数量),您可以使用以下方法:
scp user_name@ip.of.remote.machine:/some/log/folder/some_log_file.* ./
这将从远程文件中的给定文件夹中复制所有名为some_log_file的文件,即- some_log_file。1, some_log_file。2, some_log_file。3.
serverHomeDir='/home/somepath/ftp/'
backupDirAbsolutePath=${serverHomeDir}'_sqldump_'
backupDbName1='2021-08-27-03-56-somesite-latin2.sql'
backupDbName2='2021-08-27-03-56-somesite-latin1.sql'
backupDbName3='2021-08-27-03-56-somesite-utf8.sql'
backupDbName4='2021-08-27-03-56-somesite-utf8mb4.sql'
scp -i ~/.ssh/id_rsa.pub user@server.domain.com:${backupDirAbsolutePath}/"{$backupDbName1,$backupDbName2,$backupDbName3,$backupDbName4}" .
. -在最后将文件下载到当前目录
我~ / . ssh / id_rsa。Pub -假设您使用.pub密钥建立了服务器的SSH