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

Bea*_*ard 3 php bash ftp perl

我希望自动将给定目录中的文件从一台服务器传输到另一台服务器。他们都在同一个网络上,可以互相ping通,甚至可以从一个到另一个ssh。

目前我的方法是 SSH 到服务器 A,将文件拉下来,SSH 到服务器 B 并上传它们......

我已经在这里看到了一篇文章,但我想问你们什么是从服务器到服务器传输文件、嵌入到 cron-job 或自动化的最佳方式。

这是我的限制:

  • 两个服务器都不能有任何公共 Web 服务(没有端口 80,没有 apache,没有任何悲伤的脸

  • 两个服务器都不能使用任何类型的 FTP 连接(尽管我们可以 ssh)

预先感谢大家的帮助

小智 8

如果 ssh 在服务器之间工作,scp似乎就是你要找的。这很简单:

scp /dir/source.file user@targethost:dir/target.file
Run Code Online (Sandbox Code Playgroud)


jm6*_*666 8

这里已经有很多关于 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
Run Code Online (Sandbox Code Playgroud)

可以添加 --delete 来删除远程不存在的文件,而且……男人是你的朋友。

ps投票关闭,因为这个属于超级用户。