备份:如何将“split”的输出放置在外部驱动器上?

备份:如何将“split”的输出放置在外部驱动器上?

我正在尝试将我的主目录备份(“复制”)到外部硬盘,以便我可以送电脑去维修。当然,家里的外部硬盘是 FAT32,这意味着我的最大文件大小为 2G。

我有几个大于 2G 的文件 - 一些 tarball、VM 映像等。我认为最简单的方法是将split这些文件分割成 FAT32 友好的块。

我的问题是:我的硬盘上没有足够的空间来分割每个文件并存储组成部分。我想做类似的事情split bigfile.tar -o /mnt/external_drive,但手册页似乎没有指示这样的选项。

解决此问题的最佳方法是什么?

或者,我可以只 tar-up /home/rascher,但这有同样的问题 - 我没有足够的本地磁盘空间来保留 tarball 的副本,如果我尝试,tar -cvzf /mnt/external_drive/backup.tar ./那么我将遇到相同的 2G 边界。

我应该怎么办?

答案1

备份:

tar cf - /home/rascher | split -b 2000m - /mnt/external_drive/backup/rascher_home

并恢复:

cat /mnt/external_drive/backup/rascher_home* | ( cd / && tar xf - )

这样,您就不会占用两倍的磁盘空间(无需创建 bigfile.tar。)

答案2

也许是这样的:

$ cd /mnt/external_drive && split /path/to/original/bigfile.tar

相关内容