群晖增量同步Linux文件夹,「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡...

【序】

这是群晖NAS的shell脚本扩展应用之二。之前颁发的文章:手动挂载exfat分区和自动挂载exfat分区,目的就是为了能够在NAS上面,可以做到自动增量备份。

我也安装和试用过群晖官方提供的USB Copy加值套件,可是它只是简单的U盘同步功能。NAS上的备份文件必须连结不变,不然会重复的同步已经备份过的文件。我的主要目的是用来同步相机拍摄的照片和视频,同步完成后其实不是保存在同一个目录下面,往往要依照时间或者事件的类型,放置到其它目录里。如果用USB Copy来备份,就会致使重复同步旧文件的情况产生。于是,自己编写的一个shell脚本,实现真正意义上的“增量备份文件”,即使文件更名或者移到其它目录后,也不会重复备份。

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-1.jpg (12.19 KB, 下载次数: 0)

2018-10-20 12:29 上传

群晖USB增量备份

【备份原理】

我在用shell脚本备份时,会记录每个备份文件的名称和MD5校验值,把这些信息保存在NAS上面。下次备份的时候,检查一下U盘里面的文件跟NAS上的信息是否重复,如果重复就不会再次备份。由此就可以实现增量备份的功能。

文中使用的源代码,在我的GitHub上面都可以找到,有兴趣的朋友可以自己下载看看:

git clone https://github.com/luckylz2git/exfat-synology/usbsync

【测试截图】

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-2.jpg (71.44 KB, 下载次数: 0)

2018-10-20 12:29 上传

插入U盘,打开usbhash.log文件

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-3.jpg (25.98 KB, 下载次数: 0)

2018-10-20 12:29 上传

复制USBHash这行

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-4.jpg (34.89 KB, 下载次数: 0)

2018-10-20 12:29 上传

粘贴到usbsync.cfg,并添加U盘注释

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-5.jpg (33.64 KB, 下载次数: 0)

2018-10-20 12:29 上传

弹出U盘,复制一些文件或者拿去拍一些新的照片

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-6.jpg (34.46 KB, 下载次数: 0)

2018-10-20 12:29 上传

重新将U盘插入NAS,期待完成备份,U盘会自动弹出

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-7.jpg (60.26 KB, 下载次数: 0)

2018-10-20 12:29 上传

备份日志,备份了5个文件

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-8.jpg (57.73 KB, 下载次数: 0)

2018-10-20 12:29 上传

重复在U盘内增加一些文件或照片

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-9.jpg (48.78 KB, 下载次数: 0)

2018-10-20 12:29 上传

U盘插入NAS,备份成功!

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-10.jpg (59.19 KB, 下载次数: 0)

2018-10-20 12:29 上传

再次查看日志,仅备份了新的文件。

「原创」群晖NAS小程序(2)——用shell脚本增量备份U盘和存储卡-11.jpg (105.19 KB, 下载次数: 0)

2018-10-20 12:29 上传

备份历史日志,保存了每次备份的信息。

【免责声明】

这个体例其实不是官方提供的,需要使用到一些简单的Linux命令,不熟悉的话,存在有一定风险。所以,请谨慎测验考试,风险自担!

【安装步调】

(1)登岸NAS界面,在存储空间1增加一个共享文件夹,例如:PhotoImported

(2)用root用户登岸ssh,连上NAS:

ssh root@192.168.1.100

(3)确保NAS可以连接互联网,然后用以下命令下载2个文件,usbsync.sh和usbsync.cfg,其中usbsync.sh放到bin目录,usbsync.cfg是设置文件,放在PhotoImported目录,便利修改:

wget -P /tmp/ https://github.com/luckylz2git/exfat-synology/raw/master/usbsync/usbsync.sh --no-check-certificatechmod 755 /tmp/usbsync.shmv /tmp/usbsync.sh /bin/usbsync.shwget -P /tmp/ https://github.com/luckylz2git/exfat-synology/raw/master/usbsync/usbsync.cfg --no-check-certificatechmod 666 /tmp/usbsync.cfgmv /tmp/usbsync.cfg /volume1/PhotoImported/usbsync.cfg

(4)用文本编辑工具打开usbsync.cfg,修改里面相应的参数。

启用/停用自动同步。中括号内为可选参数(下同)。true是启动自动同步,false是停用:

AutoSync:[true | false]

同步完成后,是否自动弹出U盘。true是自动弹出,false是不弹出。

AutoUnmount:[true | false]

需要同步U盘内的源目录:

SourceDir:DCIM

需要同步的文件后缀,如果有多种格式,用分号(;)分隔文件后缀。星号(*)代表同步所有文件:

FileExtension:*orFileExtension:nef;jpg;mov

NAS内的目标备份目录:

ImportDir:/volume1/PhotoImported

注册U盘信息,如果要备份多个U盘或者存储卡,就要填写多行。

USBHash:[usb_hash_value1][,usb_dev_info1]USBHash:[usb_hash_value2][,usb_dev_info2]...USBHash:d1912eac1eb562007524467b58f3423f,EXAMPLE_USB_DEVICE1USBHash:e1912eac1eb752446756200b58f3423f,EXAMPLE_USB_DEVICE2...

注册U盘体例:

把需要备份的U盘插入NAS,打开共享文件夹PhotoImported,里面会有一个usbhash.log文本文件。打开这个文件,内容如下:

USB Disk: /dev/sduDevice: /dev/sdu1USBHash: d1912eac1eb562007524467b58f3423f

只需要把USBHash那行复制到usbsync.cfg文件里面即可。USBHash还有一个额外的usb_dev_info信息,用逗号(,)分隔,这是用来区分USB设备的注释信息,例如:USBDisk,SDCard1,CFCard1。这是一个可选填的内容。

(5)上述步调完成后,弹出并重新插入U盘,就可以开始自动备份了。

(6)多个U盘注册,重复步调(4)和(5)。

(7)确认增量备份结果。打开共享文件夹PhotoImported,查看U盘上的文件是否已经按要求完成备份了。程序在完成备份后,会生成2个日志文件:import_latest.log和import_history.log。最新一次备份的日志,保存在import_latest.log,之前的备份日志,保存在import_history.log。

【卸载步调】

(1)用root用户登岸ssh,连上NAS:

ssh root@192.168.1.100

(2)执行以下命令,即可卸载这个小程序,将系统功能回复复兴:

rm -f /bin/usbsync.sh

【总结】

鉴于本人工作性质,所以这篇写得感触感染像技术文档,可能不是那么通俗易懂。不过,循序渐进的操作,应该不会有太大问题的。如有任何问题或建议,欢迎给我回复留言。

【未完待续】

下篇文章,我会介绍最后一个shell脚本小程序exifname。数码相机照片备份的最后一个动作,在自动“增量备份”完成以后,根据照片的信息,自动修改文件名和文件目录。

敬请期待,下回再见!

有兴趣的朋友,请加关注、点赞、转发~

更多内容回复查看:

游客,如果您要查看本帖隐藏内容请回复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值