用tar将整个linux系统备份到系统本身挂载的分区

用tar将整个linux系统备份到系统本身挂载的分区

我的所有操作系统都安装在一个分区上,即/dev/vda1.

如果我用这个命令备份整个Linux目录有问题吗

root@myOS:/# tar -cJpf /mnt/bax/myOS.tar.xz .

基本上我备份整个系统并将其保存在我的第二个分区上。

/mnt/bax已安装在何处/dev/vda2(第二个分区)。

我担心会发生递归备份,我的意思是既然/dev/vda2已安装,这是否意味着会发生递归备份?

答案1

您可能不想备份已安装的文件系统和伪文件系统;至少不会,,, /proc等等 所以用。/sys/tmp--one-file-system

如果需要,您可以添加其他已安装的文件系统。

root@myOS:/# tar --one-file-system --acls --xattrs --numeric-owner -JpScf /mnt/bax/myOS.tar.xz . /media/additional-mounted-drive

或者您可以使用--exclude忽略目录:

root@myOS:/# tar --acls --xattrs --numeric-owner --exclude=mnt --exclude=proc --exclude=sys --exclude=tmp -JpScf /mnt/bax/myOS.tar.xz .

答案2

我已经用过这个几次了。我将系统 RSYNC 到本地文件夹(其他分区)并排除。然后,如果需要,您和 TAR 可以对其进行压缩。

mkdir /backup1; time rsync -aAXv -h --exclude={/backup*,/dev,/home,/lost+found,/media,/mnt,/mnt2,/proc,/run,/sys,/tmp,/var/lib/lxcfs,/var/lib/lxd/unix.socket} / /backup1

验证排除的文件夹并添加/删除适合您的系统的文件夹。

然后您可以直接 TAR backup1 文件夹。

tar czfp --rsyncable UbuntuServer1604.tar.gz ./backup1

或者安装并使用并行高压缩编解码器,例如磅压缩2或者更快的像PGZ

apt install lbzip2 -y && time tar cf backup1.tar.bz2 ./backup1 --use-compress-program=lbzip2

我尝试过只使用 TAR 进行备份,但更喜欢 RSYNC。 TAR 确实有压缩选项,例如并行“lbzip2”和“pigz”:
小型压缩文件 lbzip2 或使用 pigz -k 进行快速压缩;可能的同步问题? lbzip4 如果 debian 出错?

压缩的 TAR 文件放置在 / 上,但您应该保存到您选择的文件夹中,并确保将其添加到排除列表中。

apt install lbzip2 -y; sudo time tar cpf backup1.tar.bz2 --exclude={/backup*,/dev,/home,/lost+found,/media,/mnt,/mnt2,/proc,/run,/sys,/tmp,/var/lib/lxcfs,/var/lib/lxd/unix.socket} --use-compress-program=lbzip2 / 

apt install pigz -y; sudo time tar cpf backup3.pigz.tar.gz --exclude={/backup*,/dev,/home,/lost+found,/media,/mnt,/mnt2,/proc,/run,/sys,/tmp,/var/lib/lxcfs,/var/lib/lxd/unix.socket} --use-compress-program=”pigz -k” / 

无论哪种方式,这都是添加要排除实时备份的文件夹的简单方法。

--exclude={/backup*,/dev,/home,/lost+found,/media,/mnt,/mnt2,/proc,/run,/sys,/tmp,/var/lib/lxcfs,/var/lib/lxd/unix.socket}

相关内容