如何使用 scp 命令将文件和文件夹从一个远程服务器复制到另一个远程服务器?
How to copy files and folders from one remote server to another remote server using scp command?
我在我的机器上使用 Ubuntu Linux 12.04 LTS。
有两个远程服务器,即
- 64.211.219.95
- 42.11.37.153
我可以使用 ssh 命令登录到两台服务器。两台服务器的用户名都是 root.
现在我想从服务器复制文件夹'/var/www/'中的所有文件和文件夹64.211.219.95 到服务器 '42.11.37.153' 上的文件夹 '/var/www/project_dir/' 远程即使用 scp 命令.
我应该怎么做?我必须使用什么命令才能使此操作正常运行?
请有人帮助我。
提前致谢。
我认为您的问题在于指定通配符。您可以使用带有尾部斜杠的目录的递归副本来避免这种困难,vis:
scp -r root@64.211.219.95:/var/www/ root@42.11.37.153:/var/www/project_dir
scp
命令可以运行来自任何你喜欢的服务器,不限于源或目标机器。
登录服务器 64.211.219.95 并使用:
scp -r /var/www root@42.11.37.153:/var/www/project_dir
在某些情况下,根据您的解决方案和基础架构,您可能希望同步您的source_dir与remote_dir,依旧使用SSH安全快速的协议。这样你就不需要复制整个包,而只需要复制必要的(更改)。
在这种情况下,你想要的是rsync:
rsync -Cravgtzp --delete --exclude="*.gz" -e ssh user@source_host:source_dir/ user@remote_host:remote_dir/ >> /tmp/logfile.log
注:
--delete
用于在 remote_dir 中删除文件,而文件已在 source_dir 中删除。
--exclude
当您对复制这些文件不感兴趣时使用(假设 *.gz 是临时文件修复示例)..
我在我的机器上使用 Ubuntu Linux 12.04 LTS。
有两个远程服务器,即
- 64.211.219.95
- 42.11.37.153
我可以使用 ssh 命令登录到两台服务器。两台服务器的用户名都是 root.
现在我想从服务器复制文件夹'/var/www/'中的所有文件和文件夹64.211.219.95 到服务器 '42.11.37.153' 上的文件夹 '/var/www/project_dir/' 远程即使用 scp 命令.
我应该怎么做?我必须使用什么命令才能使此操作正常运行?
请有人帮助我。
提前致谢。
我认为您的问题在于指定通配符。您可以使用带有尾部斜杠的目录的递归副本来避免这种困难,vis:
scp -r root@64.211.219.95:/var/www/ root@42.11.37.153:/var/www/project_dir
scp
命令可以运行来自任何你喜欢的服务器,不限于源或目标机器。
登录服务器 64.211.219.95 并使用:
scp -r /var/www root@42.11.37.153:/var/www/project_dir
在某些情况下,根据您的解决方案和基础架构,您可能希望同步您的source_dir与remote_dir,依旧使用SSH安全快速的协议。这样你就不需要复制整个包,而只需要复制必要的(更改)。
在这种情况下,你想要的是rsync:
rsync -Cravgtzp --delete --exclude="*.gz" -e ssh user@source_host:source_dir/ user@remote_host:remote_dir/ >> /tmp/logfile.log
注:
--delete
用于在 remote_dir 中删除文件,而文件已在 source_dir 中删除。
--exclude
当您对复制这些文件不感兴趣时使用(假设 *.gz 是临时文件修复示例)..