介绍我在很长的时间内一直在寻找一个旅行中备份图片的理想方法,把 SD 卡放进你的相机包会让你暴露在太多的风险之中:SD 卡可能丢失或者被盗,数据可能损坏或者在传输过程中失败。比较好的一个选择是复制到另外一个介质中,即使它也是个 SD 卡,并且将它放到一个比较安全的地方去,备份到远端也是一个可行的办法,但是如果去了一个没有网络的地方就不太可行了。 我理想的备份步骤需要下面的工具:
设备我配置了一套满足上面条件并且在未来可以扩充的设备,它包含下面这些部件的使用:
下图展示了这些设备之间如何相互连接。 ![]()
旅行时照片的备份-流程图 树莓派会作为一个安全的热点。它会创建一个自己的 WPA2 加密的 WIFI 网络,iPad Pro 会连入其中。虽然有很多在线教程教你如何创建 Ad Hoc 网络(计算机到计算机的单对单网络),还更简单一些,但是它的连接是不加密的,而且附件的设备很容易就能连接进去。因此我选择创建 WIFI 网络。 相机的 SD 卡通过 SD 读卡器插到树莓派 USB 端口之一,128G 的大容量优盘一直插在树莓派的另外一个 USB 端口上,我选择了一款闪迪的,因为体积比较小。主要的思路就是通过 Python 脚本把 SD 卡的照片备份到优盘上,备份过程是增量备份,每次脚本运行时都只有变化的(比如新拍摄的照片)部分会添加到备份文件夹中,所以这个过程特别快。如果你有很多的照片或者拍摄了很多 RAW 格式的照片,在就是个巨大的优势。iPad 将用来运行 Python 脚本,而且用来浏览 SD 卡和优盘的文件。 作为额外的好处,如果给树莓派连上一根能上网的网线(比如通过以太网口),那么它就可以共享互联网连接给那些通过 WIFI 连入的设备。 1. 树莓派的设置这部分需要你卷起袖子亲自动手了,我们要用到 Raspbian 的命令行模式,我会尽可能详细的介绍,方便大家进行下去。 安装和配置 Raspbian给树莓派连接鼠标、键盘和 LCD 显示器,将 SD 卡插到树莓派上,按照树莓派官网的步骤安装 Raspbian。 安装完后,打开 Raspbian 的终端,执行下面的命令:
这将升级机器上所有的软件到最新,我将树莓派连接到本地网络,而且为了安全更改了默认的密码。 Raspbian 默认开启了 SSH,这样所有的设置可以在一个远程的设备上完成。我也设置了 RSA 验证,但这是可选的功能,可以在这里查看更多信息。 这是一个在 Mac 上在 iTerm 里建立 SSH 连接到树莓派上的截图14。(LCTT 译注:原文图丢失。) 建立 WPA2 加密的 WIFI AP安装过程基于这篇文章,根据我的情况进行了调整。 1. 安装软件包 我们需要安装下面的软件包:
hostapd 用来使用内置的 WiFi 来创建 AP,dnsmasp 是一个组合的 DHCP 和 DNS 服务其,很容易设置。 2. 编辑 dhcpcd.conf
通过以太网连接树莓派,树莓派上的网络接口配置由
用
注意:它必须放在如果已经有的其它接口行之上。 3. 编辑接口
现在设置静态 IP,使用
同样,然后
重要: 使用 4. 配置 Hostapd
接下来,我们需要配置 hostapd,使用
配置完成后,我们需要告诉 5. 配置 Dnsmasq 自带的 dnsmasp 配置文件包含很多信息方便你使用它,但是我们不需要那么多选项,我建议把它移动到别的地方(而不要删除它),然后自己创建一个新文件:
粘贴下面的信息到新文件中:
6. 设置 IPv4 转发
最后我们需要做的事就是配置包转发,用
我们还需要给连接到树莓派的设备通过 WIFI 分享互联网连接,做一个
我命名这个脚本名为
该脚本应该在树莓派启动的时候运行。有很多方法实现,下面是我实现的方式:
编辑后
安装 Samba 服务和 NTFS 兼容驱动
我们要安装下面几个软件来启用 samba 协议,使文件浏览器能够访问树莓派分享的文件夹,
你可以参照这些文档来配置 Samba。
重要提示:参考的文档介绍的是挂载外置硬盘到树莓派上,我们不这样做,是因为在这篇文章写作的时候,树莓派在启动时的 auto-mounts 功能同时将 SD 卡和优盘挂载到 2. Python 脚本
树莓派配置好后,我们需要开发脚本来实际拷贝和备份照片。注意,这个脚本只是提供了特定的自动化备份进程,如果你有基本的 Linux/树莓派命令行操作的技能,你可以 ssh 进树莓派,然后创建需要的文件夹,使用
这个过程依赖两个文件,脚本文件自身和
重要提示:在这个符号
下面是这个 Python 脚本,我把它命名为
3. iPad Pro 的配置因为重活都由树莓派干了,文件不通过 iPad Pro 传输,这比我之前尝试的一种方案有巨大的优势。我们在 iPad 上只需要安装上 Prompt2 来通过 SSH 连接树莓派就行了,这样你既可以运行 Python 脚本也可以手动复制文件了。
iPad 用 Prompt2 通过 SSH 连接树莓派 因为我们安装了 Samba,我们可以以更图形化的方式访问连接到树莓派的 USB 设备,你可以看视频,在不同的设备之间复制和移动文件,文件浏览器对于这种用途非常完美。(LCTT 译注:原文视频丢失。) 4. 将它们结合在一起
我们假设
首次备份需要一些时间,这依赖于你的 SD 卡使用了多少容量。这意味着你需要一直保持树莓派和 iPad 设备连接不断,你可以在脚本运行之前通过
运行完成的脚本如图所示 来自:Linux中国
|
|