因工作需要,要用PI 做gitlab 服务器做相关工作。gitlab 数据已经做了间隙的备份。但系统还没有做备份。这几天做了N多尝试。

验证了一种可靠的方式 。

系统 为32 的系统 ,超速卡,写50M/S 因为以前16G的卡 速度没有那么 快 10M/S 。因为用gitlab 服务器要有一定相应速度 。

网络备份操作如下。

先行在根目录 建立 jj 文件夹。然后把脚本放到一个位置。这个生成的img 大小是自己定的要根据系统占用空间

自己定义。

我定义的是8g 目前,因为系统 已经用了7.1.G  不知道怎么用这么多。已经清理垃圾了,虽然用了1g 的交换空间。

#!/bin/sh
sudo dd if=/dev/zero of=raspberrypi.img bs=1k count=8388608
sleep 2
sudo parted raspberrypi.img --script -- mklabel msdos
sleep 2
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 92159s
sleep 2
sudo parted raspberrypi.img --script -- mkpart primary ext4 92160s -1

loopdevice=`sudo losetup -f --show raspberrypi.img`
sleep 2
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
sleep 2
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
sudo mkfs.vfat $partBoot
sleep 2
sudo mkfs.ext4 $partRoot
sleep 2
sudo mount -t vfat $partBoot /media
sleep 2
sudo cp -rfp /boot/* /media/
sleep 2
sudo umount /media
sleep 2

#jump raspberrypi.img
sleep 2
sudo mount -t ext4 $partRoot /jj/
sleep 2
cd /jj
sudo rsync -aP --exclude="raspberrypi.img"   --exclude=/media/* --exclude=/jj/* --exclude=/sys/*  --exclude=/proc/* --exclude=/tmp/* / ./
cd
sudo umount /jj
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice

在备份中可能最后一个VAR 可能会中断 ,但好像是好的可能用的。

如果不能用重新把脚本更改下,只挂载,复制 系统文件就好。BOOT 文件一般都是好的。

这个IMG 烧录到别的卡,比如16g卡后,先挂在LINUX 系统下,确认

【相应修改PARTUUID设定】

【相应修改PARTUUID设定】  以下为引用的。

这时候整个备份就已经完成了。不过此时的img文件即使写入到空白SD卡里面也是无法启动的,因为Raspbian启动要对应分区的PARTUUID,所以我们还要修改目标img文件里的如下两个文件:

./tgt_boot/cmdline.txt ./tgt_Root/etc/fstab

首先查看img文件对应的loop device的两个分区的PARTUUID

pi@raspberrypi:~/backupimg $ sudo blkid

/dev/mmcblk0p1: LABEL="boot" UUID="E5B7-FEA1" TYPE="vfat" PARTUUID="ddffe93a-01"

/dev/mmcblk0p2: UUID="b4ea8e46-fe87-4ddd-9e94-506c37005ac5" TYPE="ext4" PARTUUID="ddffe93a-02"

/dev/sda2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="ec04fe79-02pipi"

/dev/loop0: PTUUID="af2f8761" PTTYPE="dos"

/dev/mmcblk0: PTUUID="ddffe93a" PTTYPE="dos"

/dev/sda1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="ec04fe79-01"

/dev/mapper/loop0p1: SEC_TYPE="msdos" LABEL="boot" UUID="755C-C29C" TYPE="vfat" PARTUUID="af2f8761-01"

/dev/mapper/loop0p2: UUID="a174c97e-049f-4fbd-abb7-0b9098dae24a" TYPE="ext4" PARTUUID="af2f8761-02"

这里可以看到/boot对应的是af2f8761-01 , / 对应的是af2f8761-02

修改 cmdline.txt 文件

pi@raspberrypi:~/backupimg $ sudo vi ./tgt_boot/cmdline.txt

pi@raspberrypi:~/backupimg $ cat ./tgt_boot/cmdline.txt

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=af2f8761-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

修改 fstab 文件

pi@raspberrypi:~/backupimg $ sudo vi ./tgt_Root/etc/fstab

pi@raspberrypi:~/backupimg $ cat ./tgt_Root/etc/fstab

proc /proc proc defaults 0 0

PARTUUID=af2f8761-01 /boot vfat defaults 0 2

PARTUUID=af2f8761-02 / ext4 defaults,noatime 0 1

# a swapfile is not a swap partition, no line here

# use dphys-swapfile swap[on|off] for that

引用如下

以下可做参考 的

https://toutiao.io/posts/ivrbq2/preview

树莓派 Raspberry Pi 系统备份 Image 的制作

https://github.com/raspberrypi-ui/piclone

notsure

https://blog.csdn.net/u012865381/article/details/77506397

Rsync详解

这个可能管用 。

https://www.cnblogs.com/haochuang/p/6380839.html 最小系统 的再加上手动一步一步最后一步就可以做IMG

解释原好【树莓派】制作树莓派最小镜像:img裁剪瘦身

sudo rsync -aP --exclude="raspberrypi.img" --exclude=/media/* --exclude=/jj/* --exclude=/sys/* --exclude=/proc/* --exclude=/tmp/* / ./ cd

no --exclude=/proc/*

/proc/sys和/sys目录的区别

https://blog.csdn.net/t0nsha/article/details/8569954?utm_source=blogxgwz1

https://www.jianshu.com/p/b3ce0d945c7a

制作树苺派SD卡备份镜像——树苺派系统备份与还原指南

可以是用DD命令来做的

https://www.jianshu.com/p/c6055f9545fd

backup_system.sh

work .i不过这个文件要在linux 下建立才能正常执行,不然在WIN下建立,不能正常执行。

??????

http://www.fendou.info/raspberry-pi-sd-card-backup-and-recovery/comment-page-1/

那个BOOT相关文件可以支持,但/root目录下没有正常复制结束。不清楚为什么。。

为树莓派做系统备份镜像

https://blog.csdn.net/lzjsqn/article/details/58156463

最好只按流程做,也就是只复制外部SD 卡系统。

http://www.cnblogs.com/haochuang/p/6066532.html

经过以上六步树莓派中的数据文件就全部备份到raspberrypi.img中

以上两个试着手动的下命令,看看当时的反应。

http://www.fendou.info/raspberry-pi-sd-card-backup-and-recovery/comment-page-1/

https://blog.csdn.net/zhufu86/article/details/78821056

一步一步做。

【相应修改PARTUUID设定】

这时候整个备份就已经完成了。不过此时的img文件即使写入到空白SD卡里面也是无法启动的,因为Raspbian启动要对应分区的PARTUUID,所以我们还要修改目标img文件里的如下两个文件:

./tgt_boot/cmdline.txt ./tgt_Root/etc/fstab

首先查看img文件对应的loop device的两个分区的PARTUUID

pi@raspberrypi:~/backupimg $ sudo blkid

/dev/mmcblk0p1: LABEL="boot" UUID="E5B7-FEA1" TYPE="vfat" PARTUUID="ddffe93a-01"

/dev/mmcblk0p2: UUID="b4ea8e46-fe87-4ddd-9e94-506c37005ac5" TYPE="ext4" PARTUUID="ddffe93a-02"

/dev/sda2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="ec04fe79-02pipi"

/dev/loop0: PTUUID="af2f8761" PTTYPE="dos"

/dev/mmcblk0: PTUUID="ddffe93a" PTTYPE="dos"

/dev/sda1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="ec04fe79-01"

/dev/mapper/loop0p1: SEC_TYPE="msdos" LABEL="boot" UUID="755C-C29C" TYPE="vfat" PARTUUID="af2f8761-01"

/dev/mapper/loop0p2: UUID="a174c97e-049f-4fbd-abb7-0b9098dae24a" TYPE="ext4" PARTUUID="af2f8761-02"

这里可以看到/boot对应的是af2f8761-01 , / 对应的是af2f8761-02

修改 cmdline.txt 文件

pi@raspberrypi:~/backupimg $ sudo vi ./tgt_boot/cmdline.txt

pi@raspberrypi:~/backupimg $ cat ./tgt_boot/cmdline.txt

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=af2f8761-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

修改 fstab 文件

pi@raspberrypi:~/backupimg $ sudo vi ./tgt_Root/etc/fstab

pi@raspberrypi:~/backupimg $ cat ./tgt_Root/etc/fstab

proc /proc proc defaults 0 0

PARTUUID=af2f8761-01 /boot vfat defaults 0 2

PARTUUID=af2f8761-02 / ext4 defaults,noatime 0 1

# a swapfile is not a swap partition, no line here

# use dphys-swapfile swap[on|off] for that

卸载各个挂载的分区

---------------------

作者:zhufu86

来源:CSDN

原文:https://blog.csdn.net/zhufu86/article/details/78821056

版权声明:本文为博主原创文章,转载请附上博文链接!

为什么都是复制好的。但BOOG目录下就是缺少4.3M空间。

resize2fs

http://www.tyrantek.com/archives/508/

手动。

https://blog.csdn.net/u014645605/article/details/52212622

eMMC 分区管理

https://www.zhihu.com/question/55406328

raspberry pi 3 model b(树莓派3b)raspbian系统如何做系统备份

http://www.52pi.net/archives/468

完全抛弃TF卡,从USB启动树莓派.

Linux系统备份与还原

在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和 备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost 这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会 丢失一些宝贵的数据。

1. 备份系统

我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:

$ sudo su

然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):

# cd /

下面是我用来备份系统的完整命令:

# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

jiajia

# tar cvpzf backup.tgz –exclude=/backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

jiajia

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在 档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

2. 恢复系统

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:

# tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:

# tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

# mkdir proc # mkdir lost+found # mkdir mnt # mkdir sys

等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

树莓派 系统备份。IMG.相关推荐

  1. 中级篇——树莓派系统备份恢复的两种方式

    树莓派系统备份恢复 方式一: 使用树莓派烧录工具,Win32DiskImager 工具的读取功能,如下图.优点是操作简单,缺点也很明显,因为是全盘读取,所以读取的备份文件非常大,不利于传播分享.所以p ...

  2. 树莓派AI视觉云台——7、树莓派系统备份

    树莓派使用SD卡来装载系统,如果SD卡丢失或者损坏,那么树莓派上的数据都会丢失,所以一定要备份好SD卡.这篇文章可以帮你备份你的树莓派系统.主要内容为备份SD卡,制作树莓派系统镜像以及在需要的时候还原 ...

  3. 【树莓派】树莓派SD卡系统镜像系统备份方法

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 先感谢漂移菌的技术支持,耐心.细致的帮我解决了一个困扰我很久的问题--树莓派系统备份问 ...

  4. 【树莓派】不只是一封感谢信!漂移菌手把手指导:小空间树莓派镜像系统备份方法...

    先感谢漂移菌的技术支持,耐心.细致的帮我解决了一个困扰我很久的问题--树莓派系统备份问题.     问题的提出: 树莓派各种版本系统,各种软件,各种更新...总之最简单的备份方法就是使用镜像备份,即将 ...

  5. u盘自动挂载 树莓派_再推荐一个备份树莓派系统的脚本

    来自 九年吃菜粥 的投稿. 在我们使用树莓派进行学习或者搭建实验环境时经常会把系统玩坏,辛苦配置的开发环境又得重新配置:或者更新某一软件后发现新版本和某些组件不兼容,又无法降级.这个时候我们会想将系统 ...

  6. 树莓派-树莓派系统的备份与还原(4)

    原文地址: 每天十分钟带你学会树莓派--基础篇10 系统备份与还原_哔哩哔哩_bilibili 目录 一.分区 二.系统备份 2.1 全卡备份: 2.2 压缩备份 一.分区 树莓派官方系统Raspbe ...

  7. u盘安装linux 提示no such device_树莓派学习笔记2-U盘挂载和系统备份

    上一次我们说到系统配置的一些工作,在那些工作完成之后我突然想到之前从来没有做过的一个工作:系统备份.这一次我们就研究一下系统备份是怎么做的. 系统备份其实很简单,你总是可以把树莓派上的SD卡拔下来,在 ...

  8. linux虚拟机备份树莓派,为树莓派做系统备份镜像(for Linux #038; Mac),

    为树莓派做系统备份镜像(for Linux & Mac), 准备一个SD卡让你花费了一些时间,不是么?我打赌你肯定不想再做一遍,对吧?好吧,我们来做一个备份! 论坛用户,使用MAC并且是Ada ...

  9. 2022最新树莓派4B学习笔记:系统备份 OpenCV SPI TFT HTML

    树莓派4B学习笔记 一.首次使用 1.系统烧录 2.优化配置与备份 3.一些基本操作 二.摄像头 三.Pi Dashboard好看的仪表盘 四.OpenCV安装编译 五.SPI_TFT屏幕 六.最终代 ...

最新文章

  1. Windows环境 安装dlib cv2(python) 总结
  2. device tree --- #address-cells and #size-cells property【转】
  3. 图像分类、检测,语义分割等方法梳理
  4. 点击费用百度竞价修改方法
  5. iphonex黑屏开不了机_iphonex黑屏就算强制开机也开不了,是什么原因?_杭州维修...
  6. php表白情话,向一个人表白 抖音最火99句情话告白
  7. linux学习笔记-9.查找
  8. Windows 10体验:文件资源管理器变成了首页
  9. 4007-基于邻接表的新边的增加(C++,附思路)
  10. 中科大计算机是一流学科吗,2016安徽省大学一流学科排行榜,中科大第一
  11. C++类头文件交叉引用出现error C2143: 语法错误: 缺少“
  12. [Unity][AssetStore][PacakageManager]2020.1版本后的AssetStore如何下载资源并导入编辑器以及Error refreshing packages解决办法
  13. 解决Linux QQ闪退和扫码无法登陆的方法
  14. 锂电池的充电原理以及快充原理
  15. CVE-2013-3893 IE浏览器UAF漏洞分析
  16. 仿b站Java_推荐 9 个 GitHub 上练手项目(在线考试、仿美团、仿抖音、仿B站、仿头条...)...
  17. tbody css 高度,html – CSS:无法为%滚动设置tbody height
  18. Android打开系统设置界面
  19. eDairy-我的白日梦
  20. 第 17 章 设计模式(3 装饰者模式)

热门文章

  1. html元素隐藏js 控制,JS控制HTML元素的显示和隐藏的两种方法
  2. 使用c语言实现调整奇偶数的顺序
  3. Sql Server 手册
  4. 金融壹账通获亚洲银行家唯一区块链大奖
  5. java记录访问时间_在java中记录上次访问时间和上次修改时间?
  6. 【算法】计数排序 + 各个排序算法的稳定性
  7. tessent_shell diagnose flow items
  8. 恭喜您成为 2016 年度 Microsoft MVP
  9. 漫画汉化组,不用手动抹掉原文了:开源AI一键擦除,还能修复背景
  10. MY_Selenium登录126邮箱,定位不到账号输入框解决办法