我的所有操作系统都安装在一个分区上,即/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}