浅谈Linux上使用Tar备份还原


备份系统

首先关于备份 使用Tar的压缩命令 直接压缩成压缩包 20g大概可以到10g

我使用的命令是:

sudo -s
cd /
tar cpzvPf /media/lckiss/文件下载目录/linux/buckup/buckup.tgz --exclude=/proc --exclude=/lost+found --exclude=/home/lckiss/.cache --exclude=/root/.cache --exclude=/tmp --exclude=/media /

参数后面的是文件保存路径,请确认文件路径存在

--exclude=/proc

排除不需要备份的文件夹 一般就那几个 回收站啥的也不要的话自行排除

参数: 

-c :建立一个压缩文件的参数指令(create 的意思)

-p :使用原文件的原来属性(属性不会依据使用者而变)

-z :同时具有gzip的属性,即使用gzip压缩 

-v :压缩的过程中显示文件 

-f :使用档名 

-P :使用绝对路径来压缩 

--exclude FILE:排除的文件目录记得在打包过程中出现错误的文件目录要自行排除 

有点久,根据电脑性能来

恢复文件

先确保你的新盘已经格式化好了 或者说你已经重新格式化了 并且用U盘进入了live cd模式

挂载你要的系统盘 我这里是sda3

sudo -s
mount /dev/sda3 /tmp/root

首先切换到你备份的那个文件夹 然后执行解压命令

sudo -s
cd /media/lckiss/文件下载目录/linux/buckup/
tar xvpfz buckup.tgz -C /tmp/root

等恢复完成 把你以前排除的文件夹 proc tmp等 自己新建一次 

cd /tmp/root
mkdir proc
mkdir tmp
mkdir media

等...

最后修改新系统的/etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda3 during installation
UUID=8c85e3b7-26af-4d79-a1ca-3ebd0d97c9ec / ext4 errors=remount-ro 0 1
# swap was on /dev/sda4 during installation
UUID=cff4f428-344c-45ac-9a05-aa98deffc8bb none swap sw 0 0

修改成新的UUID 上面的一个是ext的,一个是swap的 自己看情况修改 如果你是按目录分区不是我这种一个区装的系统

那就得保重了 一个错就可能无法开机

sudo fdisk -l 
sudo blkid

改好后 重启看看 如果不行 检查下grub启动项里的UUID是否和你要的一样 

不一样的话得在启动条目上按e然后手动修改成现在的boot区的UUID

就这样 差不多结束了 祝你好运 如果发现有什么东西占用了空间,可以用下面的查找下

过滤文件

全盘查找大于1G的文件

sudo find / -type f -size +1024000k -exec du -h {} \;

查找当前目录下大于10MB的文件

$ find . -type f -size +10000k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’

两个比较好的关于备份的文章

Ubuntu系统备份恢复升级策略

ubuntu系统备份与还原

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - 浅谈Linux上使用Tar备份还原


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.