备份 /home 或整个系统

备份 /home 或整个系统

我读了一些关于如何备份的文章,但总是有人说只需备份文件夹,/home/而不是备份整个系统。我不明白他们的想法,因为安装的所有程序怎么办?

当然,如果您丢失了系统,您会希望有一种快速的方法来恢复所有数据,而不是在慢慢发现新系统上需要它们时必须重新安装所有丢失的程序,对吗?

答案1

我还想说,备份整个系统是没有必要的,/home也许就/etc足够了。如果你还备份了软件包选择,那么在发生灾难后,你就可以很快恢复运行。

对于Back In Time我编写的脚本,它会在创建新快照之前user-callback将所有必要的信息放入您的文件中。从软件中心安装并将其配置为备份。如果您要备份,请配置另一个配置文件,因为只有完全访问权限。然后将下面的脚本复制到并使其可执行homeBack In Time/home/<YOUR_USER>/etcBack In TimeBack In Time (root)root/etc~/.config/backintime/user-callbackchmod 755 ~/.config/backintime/user-callback

#!/bin/sh
#    Copyright (c) 2012-2014 Germar Reitze
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

# backup selection of apt-get
# Take a look at 
# https://github.com/bit-team/backintime/wiki/FAQ#how-to-backup-debian-ubuntu-package-selection
# https://github.com/bit-team/backintime/wiki/FAQ#how-to-restore-debian-ubuntu-package-selection

profile_id="$1"
profile_name="$2"
reason="$3"
errorcode="$4"
DST="$HOME/.apt-backup"

case $reason in
    1) #on process begin
       mkdir -p $DST
       dpkg --get-selections > $DST/package.list
       apt-mark showauto > $DST/pkg_auto.list
       apt-mark showmanual > $DST/pkg_manual.list
       rm -f $DST/sources.list.d/*
       cp -aR /etc/apt/sources.list* $DST/
       apt-key exportall > $DST/repo.keys
       ;;
esac

灾难发生后,您需要遵循以下步骤:

  1. 照常在新硬盘上安装 Debian/Ubuntu
  2. backintime-qt4从我们的 PPA安装

    sudo add-apt-repository ppa:bit-team/stable
    sudo apt-get update
    sudo apt-get install backintime-qt4
    
  3. 将你的外部驱动器与快照连接起来

  4. 开始Back In Time。它会询问您是否要恢复配置。当然要!Back In Time应该会自动找到您的快照。只需选择要从中恢复配置的快照,然后单击确定。
  5. 恢复你的家
  6. 如果你有特殊内容,请重新创建/etc/apt/sources.list。如果你的 Debian/Ubuntu 版本发生了变化,不要只是从~/.apt-backup/sources.list
  7. 使用以下方式复制你的存储库

    sudo cp ~/.apt-backup/sources.list.d/* /etc/apt/sources.list.d/
    
  8. 使用以下命令恢复 PPA 的 apt-keys:

    sudo apt-key add ~/.apt-backup/repo.keys
    
  9. 安装并dselect更新

    sudo apt-get install dselect
    sudo dselect update install
    
  10. 在 中进行一些“清理” ~/.apt-backup/package.list。例如,您不想再次安装旧内核。因此运行

    sed -e "/^linux-\(image\|headers\)/d" -i ~/.apt-backup/package.list
    
  11. 再次安装旧软件包

    sudo apt-get update 
    sudo dpkg --set-selections < ~/.apt-backup/package.list 
    sudo apt-get dselect-upgrade
    
  12. 使用以下方法恢复软件包选择

    sudo apt-mark auto $(cat ~/.apt-backup/pkg_auto.list)
    sudo apt-mark manual $(cat ~/.apt-backup/pkg_manual.list)
    

我是 BIT 开发团队的成员

答案2

如果您想要备份整个系统,最好通过启动 clonezilla 之类的程序进行冷备份。然后将整个驱动器映像为快照。稍后您可以通过再次启动 clonezilla 或类似程序并将磁盘映像复制回磁盘来恢复。

http://clonezilla.org/

如果您想要备份数据库(例如您提到的 postgres),则应使用特定于您的设置的数据库工具。例如,我使用 AutoMySQLBackup 以滚动备份的方式备份我的 MySQL 数据库。我将命令放在 crontab 中,以检查我的 USB 驱动器是否已连接,如果已连接,则运行备份。

http://sourceforge.net/projects/automysqlbackup/

第三,如果这是您的个人计算机,您还应该备份 /home。为此,我使用“Back in Time”,它可以跟踪文件的变化。这甚至可以保护您免受诸如错误覆盖或删除文件、撤消编辑和其他用户错误等问题的影响。Lifehacker 对此有一个很好的概述。偶尔将 /home 的完整副本复制到 USB 驱动器并将其存储在异地(例如您的办公室)也是一个好主意。如果您担心这一点,您可以使用加密的 USB 驱动器。

http://lifehacker.com/5212899/back-in-time-does-full-linux-backups-in-one-click

许多人发现完整磁盘克隆/恢复并不比全新安装麻烦。许多人也没有自己的 SQL 数据库。这就是为什么您只关注 /home。

答案3

您可以备份整个系统,但恢复起来更复杂,而且需要很长时间!如果我是你,我会/home/在需要时备份并重新安装应用程序。备份时,/home/您还会备份应用程序偏好设置,这样您就不会丢失设置。

相关内容