Skip to content

备份

强烈建议您保留所有重要文件的定期备份。备份通常不仅限于用户文件;它们可能包括配置文件,数据库,已安装的软件,设置,甚至系统的整个快照。

在这里,我们将指导您了解树莓派系统的一些备份技术。

主文件夹

备份主文件夹的一种明智方法是使用 tar 命令创建该文件夹的快照存档,并将其副本保留在家用 PC 或云存储中。为此,请输入以下命令:

`` cd/home / sudo tar czf pi_home.tar.gz pi


这会在/home /中创建一个名为`pi_home.tar.gz`的 tar 归档文件。您应该将此文件复制到 USB 记忆棒或将其传输到网络上的另一台计算机。

## SD卡复印机(推荐)

可以在树莓派桌面的"附件"菜单上找到 SD 卡复制程序,它将把树莓派 OS从一张卡复制到另一张卡。要使用它,您将需要 USB  SD卡写入器。

要备份现有的树莓派 OS安装,请在 USB 卡写入器中放入空白 SD 卡,然后将其插入 Pi 中,然后启动 SD 卡复印机。在"从设备复制"框中,选择内部 SD 卡。它可能有许多不同的名称,并且在其条目中可能有类似((/dev/mmcblk0))的名称,但通常是列表中的第一项。然后在"复制到设备"框中选择 USB 卡写入器(它可能是列出的唯一设备)。按开始'。根据 SD 卡的大小,该副本可能需要 10 或 15 分钟,完成后,您应该在新的 SD 卡上克隆您当前的安装。您可以通过将新复制的卡放入 Pi 的 SD 卡插槽中并进行引导来对其进行测试;它应该启动并看上去与原始安装完全相同,并且所有数据和应用程序都完整无缺。

您可以直接从备份中运行,但是如果要从备份中恢复原始卡,只需逆转此过程–从备份卡启动 Pi ,将要还原到的卡放入 SD 卡写入器,然后重复以上过程。

该程序不限制您仅复制与来源大小相同的卡;如果现有存储卡空间不足,则可以复制到更大的存储卡,甚至可以复制到较小的存储卡(只要存储卡有足够的空间来存储所有文件,如果存储空间不足,程序会警告您)空间)。它旨在与树莓派 OS和 NOOBS 映像一起使用。它可能适用于其他操作系统或自定义卡格式,但这不能保证。

唯一的限制是您无法写入内部 SD 卡读取器,因为这会覆盖您实际运行的 OS ,这可能会完全破坏安装。

请注意,目标卡上的所有内容都将被覆盖,因此在开始复制之前,请确保其中没有关键数据。

## SD卡映像

您最好保留整个 SD 卡映像的副本,因此,如果丢失或损坏,可以恢复该卡。您可以使用与将图像写入新卡相同的方法来执行此操作,但是相反。

在 Linux 中:

``
sudo dd bs = 4M if =/dev/sdb of = PiOS.img

这将在您的计算机上创建一个图像文件,您可以使用该图像文件写入另一个 SD 卡,并保持完全相同的内容和设置。要恢复或克隆到另一张卡,请反向使用 dd :

`` sudo dd bs = 4M if ==/dev/sdb的 PiOS .img


这些文件可能很大,并且压缩得很好。要进行压缩,您可以将 dd 的输出通过管道传输到 gzip ,以获取比原始大小小得多的压缩文件:

``
sudo dd bs = 4M if =/dev/sdb | gzip> PiOS.img.gz

要恢复,请将 gunzip 的输出通过管道传递到 dd :

`` gunzip --stdout PiOS.img.gz | sudo dd bs ==/dev/sdb的 4M


如果您使用的是 Mac ,则使用的命令几乎完全相同,但是上述示例中的" 4M"应替换为小写字母" 4m"。

有关[安装 SD 卡映像](../../installation/installing-images/README.md)的更多信息。

## MySQL

如果您在树莓派上运行了 MySQL 数据库,那么也最好对其进行备份。要备份单个数据库,请使用 mysqldump 命令:

``
mysqldump食谱> recipes.sql

此命令会将" recipes"数据库备份到文件" recipes.sql"。注意,在这种情况下,没有向" mysqldump"命令提供用户名和密码。如果您的主文件夹中的.my.cnf配置文件中没有 MySQL 凭据,请提供带有标志的用户名和密码:

`` mysqldump -uroot -ppass配方>配方.sql


要从转储文件恢复 MySQL 数据库,请将转储文件通过管道传递到 mysql 命令。提供凭据(如果需要)和数据库名称。请注意,数据库必须存在,因此请首先创建它:

``
mysql -Bse"创建数据库配方"猫配方.sql | mysql食谱``

另外,您可以使用`pv`命令查看进度表,因为转储文件是由 MySQL 处理的。默认情况下未安装,因此请使用 sudo  apt install pv进行安装。此命令对大文件很有用:

``
pv recipes.sql | mysql食谱

自动化

您可以编写Bash脚本自动执行这些过程,甚至可以使用cron定期执行。