tar 备份linux系统
首先以下几个目录是不用备份的
- /proc目录:proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间
- lost found目录:lost found这个目录一般情况下是空的,当系统非法关机后,如果你丢失了一些文件,在这里能找回来
- mnt目录:mnt是mount的缩写,各种额外设备在挂载后都会在该目录下生成相应的文件
- sys目录:硬件设备的驱动程序信息
备份系统文件tar.gz
- -exclude= 排除的意思
> tar czvpf system_bak.tar.gz / --exclude=/proc --exclude=/lost found --exclude=/mnt --exclude=sys
恢复系统文件
代码语言:javascript复制> tar xzvpf system_bak.tar.gz -C /
> mdkir /proc /lost found /mnt /sys
> chown -R root:root /proc /lost found /mnt /sys
> chmod 555 /proc
> chmod 755 /lost found
> chmod 755 /mnt
> chmod 555 /sys
rsync命令备份系统
注意目标分区的格式最好是NTFS、FAT、EXT之类的格式,避免遇到大于4G的文件无法备份的问题。
备份系统文件
这里我们可以插上外置的内存卡
- -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
- -P 保留那些因故没有完全传输的文件,以是加快随后的再次传输
> rsync -Pa / /media/usb/system_bak --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*
恢复
代码语言:javascript复制> rsync -Pa /media/usb/system_bak /
dd命令
dd命令属于扇区克隆,目标分区要比备份分区要大,即使没有使用的空间也会被原样克隆下来,会比较慢。
备份
代码语言:javascript复制> df -h #查看系统所在分区
> dd if=/dev/sda2 of=/dev/sdb3 #备份sda2到sdb3中
恢复
代码语言:javascript复制> dd if=/dev/sdb3 of=/dev/sda2 #恢复sdb3到sdb2中