我有以下服务器配置:
- 1 个中央 Linux 服务器,一个 VPS
- 8 个卫星 Linux 服务器,“糟糕的共享主机”
我有一堆文件需要放在所有服务器上。现在我正在手动将它们复制到所有地方,但我希望能够将它们复制到中央服务器,然后有一个计划进程不时运行并同步它们(仅向外同步,无需尝试在卫星服务器中查找“新”文件)。
不过,还是有几个问题:
我不能在卫星服务器上安装任何自定义软件,也不能执行奇怪的命令行操作,这些操作会自动连接到卫星服务器并直接发送文件。我知道这些事情通常是这样做的,但卫星服务器是糟糕的共享主机,我完全无法控制任何事情。我需要通过 FTP 发送文件
我还需要在我的中央服务器中列出每个卫星服务器中可用的文件列表,以确保在我向它们发送流量之前它们已准备就绪。
如果我要手动执行此操作,则步骤如下:
- 获取卫星服务器中的文件列表
- 与我自己的进行比较,并发送缺失的文件
- 再次获取文件列表,并将其存储在我的中央数据库中。
我想知道有哪些工具可以尽可能地缓解这种情况,首先是同步,然后是“获取其他服务器中可用的文件列表”。
我将使用 PHP 完成所有操作,不确定是否有好的工具可以“从 PHP 使用 FTP”,我很确定至少在第 3 步中我必须这样做。
提前感谢任何想法!
丹尼尔
答案1
我认为你想看看镜像模式lftp。
Rsync 无法通过 ftp 工作(这是正常的“默认”管理员选择)。
我强烈建议您迁移到支持 ssh 终端访问的共享主机,然后可以使用 rsync。通过推出自己的解决方案,您只会在这个糟糕的(您的话)设置中越陷越深。我想象迁移到更好的共享主机提供商需要付出同样多的努力和时间(如果不是更少的话)。
答案2
听起来像是一份工作威克斯?