4

关于 SD 卡文件同步复制到电脑的办法

 2 years ago
source link: https://www.v2ex.com/t/815331
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Linux

关于 SD 卡文件同步复制到电脑的办法

  Hyvi · 3 小时 25 分钟前 · 195 次点击

日常拍照后, 有从 SD 卡等外部存储中复制到电脑硬盘的需求, 手动复制过程中文件多了容易出现问题(比如文件名冲突、比如只复制新增的照片和视频时需要肉眼对比) ,有没有能解决如下需求的同步复制工具?

基于文件的 md5 同步。解决如下两种场景:

  • SD 卡增量更新,旧文件不需要同步,只同步复制新的文件。
  • SD 格式化后新增的同名(比如 001.JPG )的视频 /照片, 同名文件的期望的处理方式: 重命名复制到电脑硬盘,比如 001.副本.JPG
4 条回复    2021-11-14 21:27:11 +08:00

chendy

chendy   3 小时 21 分钟前

rsync 满足第一个需求
第二个需求有点麻烦

PrinceofInj

PrinceofInj   3 小时 14 分钟前

基于 exif 重命名文件,我觉得这个方便一点。比算 MD5 快多了。

cev2

cev2   2 小时 31 分钟前

纯相机照片 /视频的话,计算 MD5 显然不划算,等同于计算 MD5 把整个 SD 卡读取了一遍,然后复制文件时又把文件读取了一遍(读取放大超过 2x ),对于相机的媒体文件而言我不觉得基于修改时间的对比和 MD5 对比有什么区别。

如果是基于修改时间对比,那么就很容易实现了,通过 [cp -au --backup=t /SDdir /SDbak] ,可以达到 1.增量复制,2.源文件与目标文件同名且更(四声)新时,复制源文件并将旧文件重命名保留一份。至此完毕。

题外:我觉得需求 2 没啥意思,若 SD 卡格式化一遍后,所有文件全为新建,正常情况下再一次复制时应新建一个全新的备份位置,而不应与原备份位置混用。

!磁盘有价,数据无价。请在模拟环境中测试后实施!

yanzhiling2001

yanzhiling2001   1 小时 58 分钟前

我来歪个楼。

18 年 19 年玩佳能 M6 微单时候,这个相机有个局域网共享的功能,实际上就是在局域网内开一个 DLAN 媒体服务器,图片视频都能以 http 链接的形式在浏览器里访问得到。

后来针对局域网共享,写了一个同步软件,用了一个开源的 DLAN 工具包遍历获取相机的图片。

当时是以图片名为遍历后的同步依据。没用到 md5 。当然我拍得少也没出过错。
DLAN 支持的格式有限,这个就比较遗憾了。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK