Skip to main content
  1. Posts/

使用 RSYNC 命令备份和恢复 Ubuntu 系统

·257 字·2 分钟· 0 · 0 ·
开发笔记 有趣 Linux
Table of Contents

当然可以,以下是一种使用 rsync 工具进行 Ubuntu 系统备份的方式:

  1. 在您要备份的 Ubuntu 系统上,安装 rsync 工具:>

    在您要备份的 Ubuntu 系统上,安装 rsync 工具: #

    sudo apt-get update
    sudo apt-get install rsync
    
  2. 在您的备份服务器上,创建一个目录,用于存储备份文件:>

    在您的备份服务器上,创建一个目录,用于存储备份文件: #

    mkdir /backup
    
  3. 使用 rsync 工具进行备份:>

    使用 rsync 工具进行备份: #

    sudo rsync -avz --delete --exclude=/backup --exclude=/data/xunxu/deployment_install_package/ --exclude=/home/xunxu/ --exclude=/proc --exclude=/sys --exclude=/snap --exclude=/dev --exclude=/run --exclude=/tmp --exclude=/var/cache/apt/archives --exclude=/var/log --exclude=/var/tmp --exclude=/mnt --exclude=/media  / /backup/
    

    该命令将备份您的 Ubuntu 系统到 /backup 目录中。备份完成后,您可以将备份文件拷贝到阿里云等云平台,或者直接使用 rsync 命令将备份文件同步到阿里云。

    rsync 排除 data/xunxu/deployment 文件夹呢?

    可以使用 rsync 的 --exclude 参数来排除指定的文件或目录,包括您提到的 data/xunxu/deployment 文件夹。以下是示例命令:

    sudo rsync -avz --delete --exclude=data/xunxu/deployment/ / /backup/
    

    该命令将备份您的 Ubuntu 系统到 /backup 目录中,同时排除了 data/xunxu/deployment 文件夹。

    其中,--exclude 参数后面指定要排除的文件或目录的路径。您可以使用相对路径或绝对路径来指定要排除的文件或目录。如果要排除多个文件或目录,可以使用多个 --exclude 参数。如果要排除整个目录,可以在路径后面加上斜杠 /

    请注意,--exclude 参数要放在命令的末尾,以确保它们不会影响其他参数的解释。

    在使用 rsync 备份 proc/kcore断开

    在使用 rsync 命令备份时,如果备份目录中包含 proc/kcore 文件,可能会导致备份进程中断。因为 /proc/kcore 文件是一个虚拟文件,它代表了整个系统的物理内存,它的大小是系统实际内存大小的镜像。

    因此,备份时应该排除 /proc/kcore 文件。您可以使用 --exclude 参数来排除该文件,例如:

    javascriptCopy code
    rsync -avz --exclude=/proc/kcore /source/ /destination/
    

    请注意,在 Linux 系统中,/proc 目录下的文件是动态生成的,并且只有在系统运行时才有意义。因此,备份时应该排除 /proc 目录,以避免备份无用的数据。您可以使用以下命令来排除 /proc 目录:

    javascriptCopy code
    rsync -avz --exclude=/proc/ /source/ /destination/
    

    通过排除 /proc 目录和 /proc/kcore 文件,您可以避免备份进程中断,并且减少备份的数据量。

    snap是什么文件夹,需要备份吗

    /snap 是一个目录,它包含使用 snap 系统包管理器安装的应用程序。snap 是 Ubuntu 官方支持的应用程序包管理器,它允许用户在 Ubuntu 系统上快速、方便地安装、更新和管理软件包,类似于其他操作系统上的应用商店。

    如果您使用 snap 系统包管理器安装了应用程序,则 /snap 目录中将包含相关的应用程序和库文件。这些文件可以在需要时自动更新,因此不需要备份 /snap 目录中的文件。另外,备份 /snap 目录可能会导致备份文件过于庞大,影响备份效率和速度。

    如果您需要备份某个 snap 应用程序中的数据,可以备份应用程序的个人数据目录。这个目录通常位于 /home/<username>/snap/<appname>/current/,其中 <username> 是您的用户名,<appname> 是您要备份的 snap 应用程序的名称。您可以使用以下命令来备份该目录:

    rsync -avz /home/<username>/snap/<appname>/current/ /destination/
    

    请注意,在备份 snap 应用程序时,您需要确保在恢复备份时安装相应的 snap 应用程序,并将备份的个人数据目录复制到相应的位置。

    那我备份时,需要排除哪些不必要文件夹

    在备份 Ubuntu 系统时,您可以考虑排除以下目录或文件,以避免备份不必要的文件或数据:

    1. /proc 目录:该目录包含运行中的进程信息和内核信息,通常不需要备份。
    2. /sys 目录:该目录包含系统设备信息和内核信息,通常不需要备份。
    3. /dev 目录:该目录包含设备文件,通常不需要备份。
    4. /run 目录:该目录包含运行时的系统信息和进程信息,通常不需要备份。
    5. /tmp 目录:该目录包含临时文件,通常不需要备份。
    6. /var/cache/apt/archives 目录:该目录包含已下载的 APT 软件包,可以在需要时重新安装软件包。
    7. /var/log 目录:该目录包含系统日志文件,通常不需要备份,因为日志文件可以在系统重新启动后重新生成。
    8. /var/tmp 目录:该目录包含临时文件,通常不需要备份。
    9. /mnt/media 目录:这些目录通常用于挂载外部设备或其他文件系统,不需要备份。

    您可以使用以下命令来排除上述目录或文件:

    rsync -avz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/tmp --exclude=/var/cache/apt/archives --exclude=/var/log --exclude=/var/tmp --exclude=/mnt --exclude=/media /source/ /destination/
    

    请注意,如果您的系统中有其他不需要备份的目录或文件,请将其添加到排除列表中。

  4. 将备份文件拷贝到阿里云中:>

    将备份文件拷贝到阿里云中: #

    scp -r /backup root@<your_aliyun_ip>:/backup
    

    其中,<your_aliyun_ip> 是您在阿里云上创建的 ECS 实例的 IP 地址。

  5. 在阿里云上,使用 rsync 命令将备份文件同步到 ECS 实例中:>

    在阿里云上,使用 rsync 命令将备份文件同步到 ECS 实例中: #

    sudo rsync -avz --delete /backup/ 
    

    该命令将备份文件同步到 ECS 实例中。同步完成后,您可以使用您在阿里云上创建的用户名和密码登录到 Ubuntu 系统中。

通过以上步骤,您可以使用 rsync 工具进行 Ubuntu 系统备份,并将备份文件同步到阿里云 ECS 实例中。请注意,在备份和恢复过程中,请务必谨慎处理您的数据,确保其安全。