我把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
文件
请参阅此操作指南:http://ubuntuforums.org/showthread.php?t=35087
简单来说,备份命令就是:
--exclude=
如果需要,添加更多参数。它将在 中创建所有文件的存档
/backup.tar.gz
,应将其复制到另一台计算机或驱动器。要在系统变为梨形时恢复文件,请使用 Live CD。
/media
在or下挂载坏系统/mnt
,然后运行tar xf /path/to/drive/with/backup.tar.gz -C /mnt
(or/media
)。格鲁布
这不会涵盖 GRUB,但是您可以按照此处的指南轻松重新安装它。您只需要执行第三步和第四步。
没有人注意到clonezilla。它为您的硬盘制作完整的映像,因此它绝对备份所有内容。就像刻录 iso 或创建可启动的闪存驱动器一样简单。
实际备份需要一段时间,但最可靠。
将您的系统克隆到另一个系统。或者做个备份。在终端类型中:
该命令列出系统中所有已安装软件包的文件列表(并将其存储在当前工作目录中)。将此文件备份到硬盘、电子邮件等...(此文件非常小)。
在新安装的 ubuntu 系统中运行:
这将仅安装您
apt-get
在旧系统中安装(使用 )的那些软件包。您可以使用以下命令备份所有
.deb
软件包/var/cache/apt/archives/
并手动安装它们:之后运行更新周期。
这是我与 SquashFS 一起使用的解决方案。它与前面提出的 TAR.GZ 解决方案非常相似,但有一些主要的好处。
SquashFS 是一个压缩文件系统,完全存储在一个文件中。该文件可以安装到现有系统并以通常的方式访问,就像任何其他分区一样。与 TAR.GZ 的不同之处在于,SquashFS 是一个成熟的文件系统,可以随机访问文件,而 TAR 只是一个大的串联文件。
这意味着,如果您想挂载整个文件系统的一些大型备份,对于 TAR.GZ 大约需要 5 小时(根据我的经验),对于 SquashFS 则只需几分钟/几秒。压缩/备份操作也是如此,SquashFS 快很多倍。
更新 2017-01-31:看来您不仅可以挂载 squashfs 文件,还可以使用熟悉的应用程序(如 Linux 上的 File Roller 和 Windows 上的 7-Zip 等)将其作为常用存档打开。
所以这是我用来备份我的根文件夹的命令:
其中“-e”开关排除您要排除的文件夹(如我的示例中的虚拟和外部 Linux 文件夹)。
备份完成后,我现在可以挂载它:
现在只需等待几分钟(取决于存档的大小)并享受 /mnt/root_backup 文件夹中的所有文件。
/home/myname 文件夹也可以这样做,例如
我在这里排除了 Dropbox 和 GoogleDrive 以避免将来出现任何潜在问题,以防我从备份中恢复这些文件夹并且它们会弄乱云中的实际文件。
在http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html查看更多信息
我们还可以使用 rsync 备份系统并排除我们不想要的文件和文件夹。这是执行此操作的以下命令:
使用这
-aAX
组选项,文件以存档模式传输,确保保留符号链接、设备、权限和所有权、修改时间、ACL 和扩展属性该
--exclude
选项将导致排除与给定模式匹配的文件。参考:使用 rsync 进行完整系统备份
您可以使用Remastersys创建可引导的 Live CD/DVD 映像。这将像普通的 Ubuntu CD 一样安装。
要安装 Remastersys,您首先需要添加一个存储库:
然后,您可以像往常一样从软件中心安装它。
安装后,使用它进行“dist”备份。这意味着用户数据将从 ISO 映像中排除。
这通常用于创建自定义分发,但对于您想到的备份任务仍然有用。需要注意的一点是,如果
/
(减去 中的用户数据/home
)的内容占用过多内存,它可能会失败,因为 ISO 文件格式只能保存约 4GB 的数据。Remastersys 使用名为 squashfs 的文件系统来压缩您的数据,因此您应该可以使用高达 ~8GB 的数据。试试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
我把afrish的出色回答变成了自己的剧本。认为它可能对那些希望自动化它的人有用。好消息是,由于脚本可以存在于 NAS 上,它只有在连接时才会执行。
该脚本(可以复制到任何位置 - 最好是 NAS 本身)并将在同一文件夹中构建备份。
备份脚本
make_backups_root_and_home.sh
别忘了
chmod +x make_backups_root_and_home.sh
!Linux 定时任务
要启用 cronjob:
对于周日凌晨 1 点,请附加:
测试备份!
与所有好的备份一样,它们应该经过测试!最后,我们可以创建一个脚本来挂载最后一个可用的备份(因为它们是按日期排序的)。
mount_last_backup.sh
时移。
TimeShift 通过定期对文件系统进行增量快照来保护您的系统。这些快照可以稍后恢复,以使您的系统恢复到拍摄快照时的确切状态。
打开终端并运行以下命令
截图
这是一个使用PartImage的好教程。