![备份 /home 或整个系统](https://linux22.com/image/984363/%E5%A4%87%E4%BB%BD%20%2Fhome%20%E6%88%96%E6%95%B4%E4%B8%AA%E7%B3%BB%E7%BB%9F.png)
我读了一些关于如何备份的文章,但总是有人说只需备份文件夹,/home/
而不是备份整个系统。我不明白他们的想法,因为安装的所有程序怎么办?
当然,如果您丢失了系统,您会希望有一种快速的方法来恢复所有数据,而不是在慢慢发现新系统上需要它们时必须重新安装所有丢失的程序,对吗?
答案1
我还想说,备份整个系统是没有必要的,/home
也许就/etc
足够了。如果你还备份了软件包选择,那么在发生灾难后,你就可以很快恢复运行。
对于Back In Time
我编写的脚本,它会在创建新快照之前user-callback
将所有必要的信息放入您的文件中。从软件中心安装并将其配置为备份。如果您要备份,请配置另一个配置文件,因为只有完全访问权限。然后将下面的脚本复制到并使其可执行home
Back In Time
/home/<YOUR_USER>
/etc
Back In Time
Back In Time (root)
root
/etc
~/.config/backintime/user-callback
chmod 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
灾难发生后,您需要遵循以下步骤:
- 照常在新硬盘上安装 Debian/Ubuntu
backintime-qt4
从我们的 PPA安装sudo add-apt-repository ppa:bit-team/stable sudo apt-get update sudo apt-get install backintime-qt4
将你的外部驱动器与快照连接起来
- 开始
Back In Time
。它会询问您是否要恢复配置。当然要!Back In Time
应该会自动找到您的快照。只需选择要从中恢复配置的快照,然后单击确定。 - 恢复你的家
- 如果你有特殊内容,请重新创建
/etc/apt/sources.list
。如果你的 Debian/Ubuntu 版本发生了变化,不要只是从~/.apt-backup/sources.list
使用以下方式复制你的存储库
sudo cp ~/.apt-backup/sources.list.d/* /etc/apt/sources.list.d/
使用以下命令恢复 PPA 的 apt-keys:
sudo apt-key add ~/.apt-backup/repo.keys
安装并
dselect
更新sudo apt-get install dselect sudo dselect update install
在 中进行一些“清理”
~/.apt-backup/package.list
。例如,您不想再次安装旧内核。因此运行sed -e "/^linux-\(image\|headers\)/d" -i ~/.apt-backup/package.list
再次安装旧软件包
sudo apt-get update sudo dpkg --set-selections < ~/.apt-backup/package.list sudo apt-get dselect-upgrade
使用以下方法恢复软件包选择
sudo apt-mark auto $(cat ~/.apt-backup/pkg_auto.list) sudo apt-mark manual $(cat ~/.apt-backup/pkg_manual.list)
我是 BIT 开发团队的成员
答案2
如果您想要备份整个系统,最好通过启动 clonezilla 之类的程序进行冷备份。然后将整个驱动器映像为快照。稍后您可以通过再次启动 clonezilla 或类似程序并将磁盘映像复制回磁盘来恢复。
如果您想要备份数据库(例如您提到的 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/
您还会备份应用程序偏好设置,这样您就不会丢失设置。