创建一个虚拟 tar 文件

创建一个虚拟 tar 文件

我想到的用例是备份一些数据。我想创建一个 tar 文件,主要是因为有成千上万个小文件。

我使用云存储服务,它基本上会不断轮询硬盘上的文件,以了解何时应将新文件上传到服务器。要备份的文件位于 Linux 服务器上,而存储服务有 Windows 客户端。从 Linux 服务器到 Windows 计算机的文件使用 Samba 共享。该服务有一个 Linux 客户端,它是为 x86 编译的,无法在我的服务器上运行,因为我使用基于 ARM 的 Raspberry Pi。该服务是 Asus Web Storage

有没有办法创建一个虚拟 tar 文件,该文件不会被写入磁盘,例如,使用 fuse?

或者任何其他简单的解决方案?

答案1

我想到至少有两个解决方案:

1 - 使用 ramdisk

例如 :

mkdir /media/backupramdisk
mount -t tmpfs -o size=512M tmpfs /media/backupramdisk

然后您可以在这个 ramdisk 中创建一个 tar,然后将该文件传输到远程系统。

我几乎看不到这样做的好处,除了它不会占用存储设备的空间,但会占用 RAM。根据您机器上的可用资源,您最好在磁盘上创建一个真正的 tar。

2——Tar 到标准输出

tar 的输出可以直接通过网络传输。例如通过 ssh:

tar zcf - /dir/to/backup | ssh user@remoteserver "cat > /backup/backup.tgz"

优点:不占用 RAM 和磁盘空间。

我不知道您想用备份做什么,所以我无法详细说明。希望这仍然有帮助。

相关内容