我有一个朋友是一名摄影师,因此她有很多大文件。我们当前的解决方案是将一些文件发送到我家。我没有存储能力来存储她的所有文件。
因为我们谈论的是 TB 级的数据,所以完整备份不能保存在她的地方。我们目前确实有后处理文件的备份。
我想做的就是继续滚动X- 在她的地方备份这些文件一个月。我那里的驱动器有空间,所以我只需要一个脚本。该脚本需要至少每天运行一次,并确保该磁盘上的 250GB 可用空间充满了最新的原始文件,使得磁盘几乎已满。
我一直在尝试tar
,因为它有一个内置--newer
选项。但是,这样我每天都会创建一个巨大的 tarfile。当我明天运行相同的作业时,我会创建另一个巨大的 tarfile,它可能与昨天的完全相同。依此类推。这似乎非常低效。
我最初的想法是rsync
,但它似乎没有自己内置的时间选项。您可以通过多种方式find
在结果中使用命令和管道,但显然这不会保留目标的目录结构。
这怎么不只是 Unix 中的“一个东西”呢?我错过了什么吗?讽刺的是,这在 Windows 中是微不足道的:robocopy <source> <destination> /mir /maxage:<date>
.
总结一下:
- 我们有一个充满大文件的源树
- 我们随时可能会得到一个新的大文件文件夹
- 我们的硬盘没有文件树那么大,但足以容纳最近 2 个月的文件
- 我希望按照我选择的频率将这些文件复制到驱动器
- 需要保留文件夹结构
- 当文件超过 2 个月 + 1 天时,将其删除
- 最终结果:无论源中添加了什么,我的驱动器上始终保留着过去 2 个月的文件
答案1
看着rsnapshot
。我很确定它可以满足您想要的一切,而且当您获得更大的驱动器时,它还可以扩展以将文件保存超过两个月。