从更改文件夹的快照制作 Tar(Btrfs?)

从更改文件夹的快照制作 Tar(Btrfs?)

我的 Ubuntu 服务器上有 BTRFS,并且使用 PostgreSQL 作为数据库。我想.tar.gz根据数据库文件夹的当前状态进行存档。

但是,由于数据库在执行此操作时当然正在运行,因此它可能会在创建.tar.它大约有 15 GiB,因此需要一段时间才能对其进行存档,因此很可能会在这段时间内发生变化并造成不一致(当我的数据库不断从 API 获取数据时,它会每分钟至少自动更新一次)。

现在,我想知道,有没有办法以原子方式tar或至少复制该文件夹(这样我以后可以将其压缩)?

我当前的想法是以某种方式制作 BTRFS 快照,然后将该文件夹从快照中 tar 出来,然后删除快照。

我将如何实现制作准确表示单个时间点的 tar 的目标,而不是在数据库更新时包含冲突的更改?

有没有一种我在这里没有考虑的更简单的替代方法?

答案1

PostgreSQL 已经有一种备份数据库的方法 -pg_dump。它使以后恢复备份变得更加容易。

相关内容