这个 DD 命令能起作用吗?

这个 DD 命令能起作用吗?

我已经安装了 Google Drive,想为我的树莓派制作一个实时备份映像。这个命令能用吗?

sudo dd status=progress if=/dev/mmcblk0 bs=10M conv=sync,noerror | gzip -9 - | dd of=~/mnt/gdrive/RPI/"home server"/backups/$(date +%Y%m%d).gz

我不确定这是否是复制到已安装驱动器的问题,我不知道它是否会因为已安装而开始递归备份?

答案1

是的,它可以工作,挂载的存储不会有问题,但在备份期间更改的文件将被损坏,为了进行测试,我使用了装有 Centos 7 的测试虚拟机的启动分区

在第二个会话中对文件进行更改的简单脚本是:

while :; 
do
  let i++
  echo "test$i" >> /boot/testfile
  sleep 0.5s
done

您可以运行更改脚本,然后运行命令

root@testkvm ~ $  dd status=progress if=/dev/sda1 bs=10M conv=sync,noerror | gzip -9 - | dd of=/tmp/testfile.gz
545259520 bytes (545 MB) copied, 27.401949 s, 19.9 MB/s
51+1 records in
52+0 records out
545259520 bytes (545 MB) copied, 27.4028 s, 19.9 MB/s
206820+1 records in
206820+1 records out
105892004 bytes (106 MB) copied, 27.4112 s, 3.9 MB/s

root@testkvm /tmp $  gunzip /tmp/testfile.gz

root@testkvm /tmp $  mount /tmp/testfile /mnt

root@testkvm /tmp $  cat /mnt/testfile
▒+▒.▒▒▒▒dI▒(i▒-▒)mCa▒▒J!▒إ'[▒▒▒f▒▒;▒)i▒ٳ:g▒▒▒澿▒▒▒▒O▒▒z▒=o▒)�]▒}koy{▒g▒▒s>l▒▒▒▒?U▒lޛ▒▒kλl▒'ۯ▒▒,▒▒▒5▒▒▒o[{▒sw▒▒j▒▒▒)▒▒▒▒▒▒▒▒M|u▒▒▒>׳;▒▒Ҏ▒=▒+?▒▒?N▒▒▒[+▒ol▒▒o▒▒▒ܜ▒?T\▒w▒▒▒▒[▒R▒X▒▒▒n▒▒[▒^▒^▒\▒▒Go▒▒▒▒▒▒ꀻ{ٲ﮺▒▒C7▒\▒▒▒▒O2៮▒w▒mNE▒4▒▒w▒▒▒▒V▒▒
                                                                                                                                                                                                                                         ▒EV>▒▒8▒▒▒▒w▒
▒V▒▒▒▒▒k:▒NO▒▒▒▒V▒pp▒Y▒mg▒μ0▒▒▒▒▒▒L▒▒▒▒▒▒▒▒p▒'▒.▒tÁ▒e▒▒{>▒▒▒▒▒▒▒▒c▒▒{▒{6>:'▒▒▒▒▒{▒▒▒/▒▒>▒▒S▒▒[_▒▒▒▒Zǯ▒W՟:ޝtƿ▒84}▒+▒▒▒▒y▒u▒;▒㍉▒

如你所见,数据不正确

备份完成时的源文件如下所示:

root@testkvm  ~ $  cat /boot/testfile
test1
test2
test3
...
test72

因此,只有当您确定备份期间不会发生任何更改时,才可以使用此命令进行备份

相关内容