通过 rsync 恢复 $HOME 的备份

通过 rsync 恢复 $HOME 的备份

我正在使用 Opensuse Leap 42.2 并使用 zypper 作为我的首选包管理器。我通过脚本定期将主目录增量更新到外部驱动器:

#!/bin/bash

source="/home/florian/"
dest="/run/media/florian/My Passport A/increm-bu"
zypperfile="${source}Documents/installed-zypper-packages"
rpmfile="${source}Documents/myinstalledpackages.txt"

zypper --xmlout search --installed-only -v > "$zypperfile"
rpm -qa --qf "%{NAME} " > "$rpmfile"

rsync -avHAXS --delete "$source" "$dest"

exit 0

所以我还备份了我的包管理器安装的包的附加信息。现在我有了一台新机器,并希望“尽可能”迁移到我的新机器。所以我有以下问题:

  1. 这些数据是否足以用于备份,用于使我的新机器达到与旧机器类似的状态?我知道那些不是通过我的包管理器安装的包或垃圾箱之类的东西将会丢失。另外,我必须再次手动安装我的网络打印机之类的东西。
  2. 是否建议还恢复(某些)以点开头的文件夹和文件.。我认为这些文件夹和文件是由程序(或我自己)创建的,用于保存相关的配置内容。例如,我肯定会将文件保留在$HOME/.vim/
  3. 如果我的要求是:

    将除通过选项排除的文件和文件夹之外的所有文件和文件夹--exclude 从外部驱动器复制到新的主目录中(使用与原始命令中类似的选项,即保留​​硬链接、保留 ACL,...)。

    如果我的新 $HOME 中存在同名的新文件,则覆盖它。

    不要删除我的新 $HOME 中无法在备份中找到的文件。

    我对剧本的想法是:

    #!/bin/bash
    
    # Adjust foldernames maybe
    source="/run/media/florian/My Passport A/increm-bu/"
    dest="/home/florian/"
    
    rsync -avHAXS  --exclude '<configuration-stuff>'"$source" "$dest"
    
     exit 0
    

相关内容