两台服务器之间的文件传输,无需 FTP,无需网络

两台服务器之间的文件传输,无需 FTP,无需网络

我希望自动将给定目录中的文件从一台服务器传输到另一台服务器。它们都在同一个网络上,可以互相 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 是一个选项吗?您可以简单地将文件复制到共享文件夹。

相关内容