AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 7809
Accepted
Will
Will
Asked: 2010-10-17 13:58:06 +0800 CST2010-10-17 13:58:06 +0800 CST 2010-10-17 13:58:06 +0800 CST

如何备份我的整个系统?

  • 772

如果我想备份我的整个操作系统(包括但不只是我的主目录),我该怎么做?

是否就像备份所有内容一样简单/,然后如果我遇到崩溃,只需将文件复制回来?
这会覆盖 grub,当系统无法运行时,我该怎么做?

backup
  • 21 21 个回答
  • 304880 Views

21 个回答

  • Voted
  1. Best Answer
    evgeny
    2010-10-17T14:13:31+08:002010-10-17T14:13:31+08:00

    文件

    请参阅此操作指南:http://ubuntuforums.org/showthread.php?t=35087

    简单来说,备份命令就是:

    sudo tar czf /backup.tar.gz \
        --exclude=/backup.tar.gz \
        --exclude=/dev \
        --exclude=/mnt \
        --exclude=/proc \
        --exclude=/sys \
        --exclude=/tmp \
        --exclude=/media \
        --exclude=/lost+found \
        /
    

    --exclude=如果需要,添加更多参数。

    它将在 中创建所有文件的存档/backup.tar.gz,应将其复制到另一台计算机或驱动器。

    要在系统变为梨形时恢复文件,请使用 Live CD。/media在or下挂载坏系统/mnt,然后运行tar xf /path/to/drive/with/backup.tar.gz -C /mnt​​(or /media)。

    格鲁布

    这不会涵盖 GRUB,但是您可以按照此处的指南轻松重新安装它。您只需要执行第三步和第四步。

    • 132
  2. mreq
    2013-05-18T08:35:20+08:002013-05-18T08:35:20+08:00

    没有人注意到clonezilla。它为您的硬盘制作完整的映像,因此它绝对备份所有内容。就像刻录 iso 或创建可启动的闪存驱动器一样简单。

    实际备份需要一段时间,但最可靠。

    • 27
  3. Newbi
    2011-11-21T11:47:50+08:002011-11-21T11:47:50+08:00

    将您的系统克隆到另一个系统。或者做个备份。在终端类型中:

    dpkg --get-selections | grep -v deinstall > ubuntu-files
    

    该命令列出系统中所有已安装软件包的文件列表(并将其存储在当前工作目录中)。将此文件备份到硬盘、电子邮件等...(此文件非常小)。

    在新安装的 ubuntu 系统中运行:

    sudo dpkg --set-selections <./ubuntu-files (will set it up and)
    
    apt-get -y update
    apt-get dselect-upgrade
    

    这将仅安装您apt-get在旧系统中安装(使用 )的那些软件包。

                                        (OR)
    

    您可以使用以下命令备份所有.deb软件包/var/cache/apt/archives/并手动安装它们:

    dpkg -i *.deb
    

    之后运行更新周期。

    • 27
  4. afrish
    2016-12-07T15:57:10+08:002016-12-07T15:57:10+08:00

    这是我与 SquashFS 一起使用的解决方案。它与前面提出的 TAR.GZ 解决方案非常相似,但有一些主要的好处。

    SquashFS 是一个压缩文件系统,完全存储在一个文件中。该文件可以安装到现有系统并以通常的方式访问,就像任何其他分区一样。与 TAR.GZ 的不同之处在于,SquashFS 是一个成熟的文件系统,可以随机访问文件,而 TAR 只是一个大的串联文件。

    这意味着,如果您想挂载整个文件系统的一些大型备份,对于 TAR.GZ 大约需要 5 小时(根据我的经验),对于 SquashFS 则只需几分钟/几秒。压缩/备份操作也是如此,SquashFS 快很多倍。

    更新 2017-01-31:看来您不仅可以挂载 squashfs 文件,还可以使用熟悉的应用程序(如 Linux 上的 File Roller 和 Windows 上的 7-Zip 等)将其作为常用存档打开。

    所以这是我用来备份我的根文件夹的命令:

    sudo mksquashfs / /path/to/backup/hdd/root-backup.sqsh -e home media dev run mnt proc sys tmp
    

    其中“-e”开关排除您要排除的文件夹(如我的示例中的虚拟和外部 Linux 文件夹)。

    备份完成后,我现在可以挂载它:

    sudo mkdir /mnt/root_backup
    sudo mount /path/to/backup/hdd/root-backup.sqsh /mnt/root_backup -t squashfs -o loop
    

    现在只需等待几分钟(取决于存档的大小)并享受 /mnt/root_backup 文件夹中的所有文件。

    /home/myname 文件夹也可以这样做,例如

    sudo mksquashfs /home/myname /path/to/backup/hdd/home-backup.sqsh -e Dropbox GoogleDrive
    

    我在这里排除了 Dropbox 和 GoogleDrive 以避免将来出现任何潜在问题,以防我从备份中恢复这些文件夹并且它们会弄乱云中的实际文件。

    在http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html查看更多信息

    • 20
  5. d a i s y
    2015-12-25T00:21:06+08:002015-12-25T00:21:06+08:00

    我们还可以使用 rsync 备份系统并排除我们不想要的文件和文件夹。这是执行此操作的以下命令:

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

    使用这-aAX组选项,文件以存档模式传输,确保保留符号链接、设备、权限和所有权、修改时间、ACL 和扩展属性

    该--exclude选项将导致排除与给定模式匹配的文件。

    参考:使用 rsync 进行完整系统备份

    • 10
  6. dv3500ea
    2010-10-17T14:31:04+08:002010-10-17T14:31:04+08:00

    您可以使用Remastersys创建可引导的 Live CD/DVD 映像。这将像普通的 Ubuntu CD 一样安装。

    要安装 Remastersys,您首先需要添加一个存储库:

    deb http://www.geekconnection.org/remastersys/repository karmic/
    

    然后,您可以像往常一样从软件中心安装它。

    安装后,使用它进行“dist”备份。这意味着用户数据将从 ISO 映像中排除。

    remastersys 用户界面

    这通常用于创建自定义分发,但对于您想到的备份任务仍然有用。需要注意的一点是,如果/(减去 中的用户数据/home)的内容占用过多内存,它可能会失败,因为 ISO 文件格式只能保存约 4GB 的数据。Remastersys 使用名为 squashfs 的文件系统来压缩您的数据,因此您应该可以使用高达 ~8GB 的​​数据。

    • 8
  7. foxy
    2011-11-20T05:21:17+08:002011-11-20T05:21:17+08:00

    试试Remastersys。
    使用该程序,您可以制作系统的 liveCD(与 Ubuntu 安装 iso 文件相同),并能够将其安装在硬盘上。工作非常简单(如果您知道如何将 iso 刻录到 USB/CD/DVD)。
    在我的 11.10 和 11.04 以及更旧的版本上完美运行。

    安装:
    编辑文件 /etc/apt/sources.list
    添加:# Remastersys
    deb http://www.geekconnection.org/remastersys/repository karmic/ 并保存
    然后在终端运行:
    sudo apt-get update
    sudo apt-get install remastersys

    • 6
  8. robmsmt
    2020-05-18T17:06:20+08:002020-05-18T17:06:20+08:00

    我把afrish的出色回答变成了自己的剧本。认为它可能对那些希望自动化它的人有用。好消息是,由于脚本可以存在于 NAS 上,它只有在连接时才会执行。

    该脚本(可以复制到任何位置 - 最好是 NAS 本身)并将在同一文件夹中构建备份。

    备份脚本

    make_backups_root_and_home.sh

    #!/usr/bin/env bash
    
    set -e
    
    if [ "$EUID" -ne 0 ]
      then echo "Please run as root"
      exit
    fi
    
    log="log.txt"
    power=$(cat /sys/class/power_supply/AC/online)
    start_date=$(date +%Y%m%d_%H%M%S)
    
    if (( $power == 1 )); then
        echo "Starting backup $log at $start_date" >> $log
    
        # ROOT IMAGE
        root_backup_file=$start_date-root-backup.sqsh
        sudo mksquashfs / $root_backup_file -e home media dev run mnt proc sys tmp nfs
    
        # ALL HOMES IMAGE
        home_backup_file=$start_date-home-backup.sqsh
        sudo mksquashfs /home $home_backup_file -e Dropbox GoogleDrive
    
        finish_date=$(date +%Y%m%d_%H%M%S)
        echo "Completed $root_backup_file and $home_backup_file at $finish_date" >> $log
    else
        echo "Power is not plugged in... skipped on $start_date" >> $log
    fi
    

    别忘了chmod +x make_backups_root_and_home.sh!


    Linux 定时任务

    要启用 cronjob:

    sudo su
    crontab -e
    

    对于周日凌晨 1 点,请附加:

    00 01 * * sun  /nas_path/to/your/make_backups_root_and_home.sh >> /nas_path/to/your/log.txt 2>&1
    

    测试备份!

    与所有好的备份一样,它们应该经过测试!最后,我们可以创建一个脚本来挂载最后一个可用的备份(因为它们是按日期排序的)。

    mount_last_backup.sh

    #!/usr/bin/env bash
    
    sudo mkdir -p /mnt/root_backup
    sudo mkdir -p /mnt/root_home
    
    #UMOUNT ANY
    sudo umount /mnt/root_backup
    sudo umount /mnt/home_backup
    
    last_root=$(ls -Xrt -1 *root-backup* | head -n 1)
    last_home=$(ls -Xrt -1 *home-backup* | head -n 1)
    
    sudo mount $last_root /mnt/root_backup -t squashfs -o loop
    sudo mount $last_home /mnt/home_backup -t squashfs -o loop
    
    • 4
  9. m3asmi
    2016-06-28T05:02:44+08:002016-06-28T05:02:44+08:00

    时移。

    TimeShift 通过定期对文件系统进行增量快照来保护您的系统。这些快照可以稍后恢复,以使您的系统恢复到拍摄快照时的确切状态。

    打开终端并运行以下命令

    sudo apt-add-repository -y ppa:teejee2008/ppa
    sudo apt-get update
    sudo apt-get install timeshift
    

    截图

    在此处输入图像描述

    在此处输入图像描述

    • 4
  10. Isaiah
    2010-10-17T14:14:52+08:002010-10-17T14:14:52+08:00

    这是一个使用PartImage的好教程。

    • 2

相关问题

  • NTFS 备份映像不会挂载

  • 如何备份/恢复我的 Empathy 日志?

  • 如何将 Ubuntu 放在非闪存外部 USB 硬盘驱动器上?

  • 备份工具比较

  • 如何使文件夹与外部 USB 硬盘保持同步?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve