Linux备份

Linux 系统备份

测试环境 –> debian 9.x

尝试完整备份

  • dd
  • tar
  • rsync

此次使用rsync


支持远程备份
还原时,注意引导修复
可能需要linux livecd修复

同步工具

1
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/folder

说明

  1. -a, ––archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
  2. -v, ––verbose 详细输出模式
  3. -P 显示同步过程,比如速率,比-v更加详细
  4. –exclude=PATTERN 指定排除不需要传输的文件
  5. -X, –xattrs 此选项使rsync更新目标扩展属性与源代码相同
  6. -aAX 通过使用-aAX选项集,文件以归档模式传输,确保保留符号链接,设备,权限,所有权,修改时间,ACL和扩展属性,假设目标文件系统支持该功能
1
2
3
4
本地备份
rsync -aAXv -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/system
远程备份
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} 用户名@服务器地址:/ /mnt/system

文件解压缩

1
2
3
4
压缩
tar -jcpvf 压缩文件名.tar.bz2 需要压缩的文件或目录
解压
tar -xvf 压缩文件名.tar.(bz2,gz) 当前位置 -C 指定目录

说明

  1. -j 使用bz2
  2. -c 压缩档案
  3. -x 解压档案
  4. -p 保留原有的权限
  5. -v 显示进度
  6. -f 文件名
  7. -C 指定目录位置
1
2
3
4
压缩文件可以节省空间
tar -jcpvf 保存的位置/文件名.tar.bz2 -C 需要压缩的目录位置 需要压缩哪些文件
比如
tar -jcpvf /mnt/debian.tar.bz2 -C /mnt/system .

远程连接

1
ssh 用户名@服务器地址

远程下载上传

1
scp 用户名@服务器地址:指定目录 下载目录 (上传在左边,下载在右边)

引导修复

  • 通用
    大前提
    进入Linux Live CD分好区并且格式化,然后挂载需要还原的分区
    首先需要挂载相关目录

    1
    2
    3
    mount --bind /dev /mnt/dev
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys

    进入该目录

    1
    chroot /mnt /bin/bash
    1
    blkid 查看分区uuid

    将获取到的uuid(安装的系统分区)修改 /etc/fstab

  • 传统引导

    1
    2
    grub-install /dev/sda
    grub-mkconfig -o /boot/grub/grub.cfg
  • uefi引导
    首先需要挂载efi分区,以及修改/etc/fstab (blkid可以获取uuid)

    1
    2
    grub-install --target=x86_64-efi --efi-directory=esp目录 --bootloader-id=名字
    grub-mkconfig -o /boot/grub/grub.cfg