我希望自动将给定目录中的文件从一台服务器传输到另一台服务器。它们都在同一个网络上,可以互相 ping 通,甚至可以从一个服务器通过 ssh 连接到另一个服务器。
目前我的方法是通过 ssh 进入服务器 A,将文件拉下来,然后通过 SSH 进入服务器 B 并上传它们...
我已经看过一篇文章这里,但我想问你们将文件从一台服务器传输到另一台服务器、嵌入到 cron 作业或自动化的最佳方式是什么。
以下是我的局限性:
两台服务器都不能有任何公共 Web 服务(没有端口 80、没有 Apache、什么都没有)悲伤的脸)
两台服务器都不能使用任何类型的 FTP 连接(尽管我们可以使用 ssh)
提前感谢大家的帮助
答案1
这里已经有很多关于 scp 或 rsync 的答案。对于常规的“基于 cron”的备份,rsync 更好。
原因:
- rsync 仅复制目标中尚未存在的文件
- 因此,通常比 scp -r 快一点
- 有一堆有用的参数(例如如何处理符号链接等)
- 经过一些调整可以充当“OS X”时间机器(硬链接最新版本)
- 您可以通过 ssh 或 rsync 守护进程运行 rsync(但这需要更多配置)
- 有一个 --dry-run 参数来显示将复制的内容 - 非常适合开发/调试。
对于简单的使用尝试:
rsync --dry-run -azvv -e ssh remoteuser@remotehost:/remote/path /local/dir
可以添加--delete来删除远程不存在的文件,然后...man就是你的朋友。
Ps 投票关闭,因为这属于超级用户。
答案2
如果服务器之间 ssh 可以正常工作,SCP似乎就是你要找的东西。它很简单:
scp /dir/source.file user@targethost:dir/target.file
答案3
看起来像一份工作SCP(安全复制协议)
答案4
SMB 是一个选项吗?您可以简单地将文件复制到共享文件夹。