我在我的机器上使用 Ubuntu Linux 12.04 LTS 。
有两个远程服务器即
我可以使用ssh命令登录这两台服务器。这两个服务器都有用户名 root 。
现在,我想复制来自服务器 64.211的' / var / www /' 文件夹中的所有文件和文件夹。 219.95 到服务器' 42.11.37.153' 上的文件夹' / var / www / project_dir /' 远程,即使用 scp命令。
我该怎么办?什么应该是没有任何语法错误的确切命令我用来使这个操作工作?
请有人帮助我。
提前致谢。
答案 0 :(得分:2)
我认为您的问题在于指定通配符。您可以使用带有斜杠的目录中的递归副本来避免此困难:
scp -r root@64.211.219.95:/var/www/ root@42.11.37.153:/var/www/project_dir
scp
命令可以从您喜欢的任何服务器运行,不限于源或目标计算机。
答案 1 :(得分:1)
登录服务器64.211.219.95并使用:
scp -r /var/www root@42.11.37.153:/var/www/project_dir
答案 2 :(得分:1)
在某些情况下,根据您的解决方案和基础架构,您可能希望 使用remote_dir同步 您的source_dir,仍然使用SSH安全和快速协议。这样您就不需要复制整个包,但只需要复制(更改)。
在这种情况下,您想要的是 rsync :
rsync -Cravgtzp --delete --exclude="*.gz" -e ssh user@source_host:source_dir/ user@remote_host:remote_dir/ >> /tmp/logfile.log
注意:
如果要在source_dir中删除文件时删除remote_dir中的文件,则使用 --delete
。
--exclude
(假设* .gz是临时文件修复示例)..