rsync 命令将主树备份到另一个磁盘

rsync 命令将主树备份到另一个磁盘

我想确保我rsync在 Linux 上使用了正确的命令。我不想运行rsync并最终丢失数据,因为我是 Linux 新手,而且现在没有备份。

在 Linux Mint 上,我想将/home/nasser/ 其下面的所有内容备份到/home/BACKUP/我安装了备份磁盘的位置。

因此,我想最终得到:

/home/nasser/file1
/home/nasser/file2
/home/nasser/A/file1

/home/BACKUP/file1
/home/BACKUP/file2
/home/BACKUP/A/file1

这应该包括保留所有权和权限的所有隐藏文件和目录。我确保它/home/BACKUP/归我所有(用户和组)。 (我刚刚使用它创建sudo并更改了所有者和组并安装了备份磁盘)。

我计划使用的命令是:

rsync -apvr --delete --chmod=ugo=rwX  /home/nasser/  /home/BACKUP/

我将使用我的用户帐户而不是 root 身份运行它。

上面的命令是否正确地执行我想要的操作,因此我最终在各个方面都会出现重复的文件?我计划将其用于定期备份,因此每次我想确保备份是最新的时都会使用此命令。

作为参考,这些是我为准备备份而执行的完整步骤。

  1. 买了一个USB外置盘。回家并插入电脑
  2. dmesg并看到 [172850.144032] sd 9:0:0:0: >[sdc] [172850.170378] sd 9:0:0:0: >[sdc] 连接的 SCSI 磁盘
  3. 确定新磁盘被识别为/dev/sdc
  4. 删除现有分区并创建新的主分区。

    # sudo fdisk /dev/sdc

    命令(m 寻求帮助):d
    选定分区 1

    命令(m 寻求帮助): n
    分区类型:
    p 主分区(0 个主分区、0 个扩展分区、4 个空闲分区)
    e 扩展
    选择(默认 p): p
    分区编号(1-4,默认 1):

    选择默认使用整个磁盘。

    命令(m 寻求帮助):w
    ...
    正在同步磁盘。

  5. 创建ext4文件系统
    # sudo mkfs.ext4 /dev/sdc1
  6. 创建挂载点
    # sudo mkdir /home/BACKUP
  7. 安装并将所有内容分配给我,只需完成一次
    # sudo mount -t ext4 /dev/sdc1 /home/BACKUP/
    # sudo chgrp -R nasser /home/BACKUP/
    # sudo chown -R nasser /home/BACKUP/

答案1

需要注意的是一致性。例如,如果您在 Firefox 更新数据库时进行备份,它们可能会损坏。其中包括 Firefox 的书签。因此,您可能会在运行备份之前关闭其他正在运行的应用程序,现在的软件正在使用数据库,包括 KDE 桌面,因此它开始变得有点尴尬。

man rsync告诉我这-a已经暗示了-r-p。我用-a--delete。我认为这对于大多数目的来说应该没问题。

看起来您的备份将可供任何用户读取和写入。恢复备份后,这可能会导致某些工具出现问题。 SSH 就是一个例子,它可能会拒绝运行,直到您修复其配置以使其再次安全。所以我个人不会使用 chmod 选项。

您可能还喜欢 rdiff-backup。它与使用 rsync 类似,但您不需要指定-a --delete,并且“额外的反向差异存储在目标目录的特殊子目录中,因此您仍然可以恢复前一段时间丢失的文件。”

相关内容