我知道 rsync 是一个强大的工具。
有人能告诉我需要什么设置才能完成以下任务吗?
假设:
- 远程服务器是具有 ssh/rsync 访问权限的 Linux 机器
- 原始数据位于远程服务器上,应传输到本地计算机
- 在远程服务器上,我有一个目录,其中包含子目录和许多要传输的小文件
- 在顶级目录中,创建/更改/删除目录和文件
目标:
- 我每天都会启动 rsync 任务来与远程服务器同步
- 应在本地创建新文件
- 更改的文件应该同步
- 删除的文件应该保留
- 如果我删除本地文件,但远程服务器上仍存在该文件,则应该再次创建
- 如果我在本地修改了远程服务器上仍然存在的文件,则应该覆盖该文件
因此基本上远程服务器是主服务器并且是只读的。
我想保留服务器上所有文件的本地副本。
但如果服务器上的文件被删除,我仍然希望将该文件保留为本地副本以供存档。
答案1
$ rsync -az [email protected]:/path/to/files /path/to/local/directory