我已经尝试关注如何自动存档目录?但没有成功。无论如何,我的问题如下:我想知道是否有某种服务或程序可以在服务器上运行,以使文件夹保持更新,其中包含在另一台服务器上创建的所有文件。我不需要真正的同步服务,因为我不需要拥有相同的内容。
我尽力解释得更好。
服务器 a -> 有一个根文件夹,其中包含一些文件和子文件夹(文件可能非常大)
服务器 b -> 每天连接服务器 A 一次,并下载服务器 A 根文件夹中的所有文件和子文件夹
(这可能很好,但不是强制性的)服务器 b -> 完成服务器 A 的文件和文件夹的下载后,继续删除服务器 A 中的所有项目以保持其空间可用
两台服务器都运行 Ubuntu。我尝试过 rsync 命令,但似乎效果不太好(或者我可能做错了什么,我不是 Linux 领域的专家):每次我需要与用户保持与服务器的连接,当连接断开时,它就会从头开始。
答案1
假设服务器 A 上有一个包含如下示例代码的脚本:
#!/bin/sh
rsync -acz /folder_to_copy username@serverB:/path/to/store
rm -rf /folder_to_remove
请记住:始终使用-c
来构建校验和,尤其是远程复制时,即使速度较慢。如果路径名中有空格,请使用 \(反斜杠)将其转义,如下所示/path/with/a/space\ here
。但请尽量避免编辑:空格,(不是反斜杠);-D。
使其可执行chmod u+x /path/to/script/with/name.sh
现在,如果你运行此脚本,它将首先将所有文件上传/folder_to_copy
到服务器 B。/path/to/store
然后(递归地)从该目录中删除所有文件和文件夹。
现在你可以为这个脚本创建一个 cron 任务,让它每天晚上 3 点运行,例如
始终思考自己所做的事情,尝试理解给定的命令并测试一切。手册页是你的朋友