我有一个备份系统处理大量的数据。 我使用rsync将数据备份到远程目录。 在远程位置,为安全起见,他们将数据存档在磁带上。
数据是静态的。 一旦创build,它不会改变。
现在我正面临着将部分数据脱离磁带的select,以获得远程位置的磁盘存储空间。 脱机是通过保持文件系统的结构来完成的,因此可以浏览现有的文件而不用将它们callback到磁盘。
我一直在看如何通过rsyncpipe理这个。 由于磁带存储不是用于快速数据检索的。 -W旗会达到这个目的吗?
根据您的意见,这听起来像是你有一个分层存储pipe理 (HSM)系统,当它们被访问时,它自动处理从磁带恢复文件。 (在你的问题中,你没有具体说明这一点,但是你的评论“…我相信它会试图从磁带调用文件回磁盘。”)
-W参数禁用增量复制。 这对您要避免的问题没有任何影响。
默认情况下,rsync将使用修改时间戳和文件大小作为testing来确定哪些文件已经改变。 如果您的HSM维护“存根”文件上的文件大小和时间戳(通常通过稀疏文件完成),则rsync不应尝试执行存根文件的增量副本。 但是,如果大小和时间戳不匹配,那么您将假定文件已经更改并尝试复制。
我没有看到rsync中的任何function,可以自动排除已存档到HSM的文件。 (我不知道操作系统在起作用,例如,Windows有一个文件属性,用于识别已经存在于HSM中的文件。)
如果您的存根文件没有适当的时间戳和大小,那么您最好的办法就是生成一个排除文件的排除列表,并使用它来从rsync中排除文件。