我有一个处理大量数据的备份系统。我使用 rsync 将数据备份到远程目录。出于安全原因,他们在远程位置将数据存档在磁带上。
数据是静态的。一旦创建就不会改变。
现在我面临的选择是将部分数据离线到磁带,以便在远程位置获得磁盘存储空间。离线是通过保留文件系统结构来实现的,因此可以浏览现有文件而无需将它们调回磁盘。
我一直在研究如何通过 rsync 来管理这一点。因为磁带存储不是为了快速数据检索而设计的。-W 标志能实现这一点吗?
答案1
根据您的评论,听起来您有一个分级存储管理(HSM) 系统在访问文件时会自动处理从磁带恢复文件。(您没有在问题中明确说明这一点,但您的评论是“...我相信它会尝试将文件从磁带调回到磁盘。”)
该-W
参数禁用增量复制。这对您要避免的问题没有影响。
默认情况下,rsync 将使用修改时间戳和文件大小作为测试来确定哪些文件已更改。如果您的 HSM 在“存根”文件上维护文件大小和时间戳(通常通过稀疏文件完成),则 rsync 不应尝试对存根文件执行增量复制。但是,如果大小和时间戳不匹配,那么您将假设文件已更改并尝试进行复制。
我没有在 rsync 中看到任何允许自动排除存根到 HSM 的文件的功能。(我也不知道哪些操作系统在起作用。例如,Windows 有一个文件属性,可以识别存根到 HSM 的文件。)
如果您的存根文件没有正确的时间戳和大小,那么最好的办法可能是生成已被存根的文件的排除列表,并使用它来从 rsync 中排除文件。