在上网本上备份 Ubuntu 系统的真正简单的方法是什么?

在上网本上备份 Ubuntu 系统的真正简单的方法是什么?

我有一台运行 Lubuntu 10.04 的 Acer Aspire One。我已经对它进行了很多配置,并且想备份整个文件系统(不包括保存数据的 SD 卡),以便在发生灾难时能够快速启动并运行它。

我知道有很多关于良好备份解决方案的讨论,但我希望得到帮助,找到一个非常简单易用的特定解决方案。我的意思是命令行解决方案,最好只用一行代码,将文件系统的(压缩)副本复制到已安装的 USB 棒上。

当然,解决方案最重要的方面之一应该是,即使我忘记了备份的细节,也可以轻松恢复系统。因此,也许 USB 棒应该是可启动的,并且从启动时,它应该可以恢复计算机。或者其他任何简单的事情。

是否有人已经做过类似的事情,或者是否有针对这种用例的现成的备份实现?

更新

澄清一下:如果我能得到一个切实可行的建议,我会非常高兴。例如一个特定的命令行:

<command> --from /dev/sda --to /media/usbmemory/backup.bkp

或者任何可行的方法!:)

答案1

您想备份整个系统,而不仅仅是数据?那么我认为 USB 记忆棒不是正确的答案。它可能不够大,无法进行一次备份,当然也无法进行多次备份(否则,如果系统在备份过程中死机,您将一无所有)。我建议改用便携式硬盘。

使用硬盘的优点是,您可以在硬盘上进行完整安装,从而可以轻松启动。如果您想确保备份的一致性(当您尝试进行完整系统备份时,这一点非常重要),您也可以从硬盘启动进行备份。

如果你已经这样做了,我会编写 2 个脚本来执行备份和恢复。例如:

#!/bin/bash
SOURCE=/dev/sda
DESTINATION=/backup/backup.`date +%Y%m%d-%H%M%S`.bz2

echo "About to back up ${SOURCE} to ${DESTINATION}.  Press ^C to abort"
sleep 10

echo "Backup started"
dd if=${SOURCE} | bzip2 -c9 > ${DESTINATION}

进而

#!/bin/bash
DESTINATION=/dev/sda
SOURCE_BASE=/backup/backup

if [ -z "${1}" ]; then
    SOURCE=`ls -1tr ${SOURCE_BASE}.* | tail -n 1`
    if [ -z "${SOURCE}" ]; then
        echo "No backups found!"
    fi
  else
    if [ ! -e ${1} ]; then
        echo "File ${1} not found to restore from
      else
        SOURCE=${1}
    fi
fi

echo "About to restore ${SOURCE} to ${DESTINATION}.  Press ^C to abort"
sleep 10

echo "Restore started"
bzip2 -cd ${SOURCE} | dd of=${DESTINATION}

这将确保每个备份都转到不同的位置,并且当您执行还原时会自动还原最近的备份或您指定的备份。

需要注意的是 - 我刚刚写了这两个脚本,您可能需要在依赖它们之前对它们进行测试。

相关内容