【DSM7】升級Photos後,刪除舊備份前相片確保有全部備份的方法(不同文件結構的重複文件對比)

腰斬Synology Moment變成Photos應該算是DSM7的最大升級,小U之前一直用Synology Drive 的 DS File手機App的相片備份功能做手機備份,但是發現有嚴重設計缺陷。所以趁着DSM7升級就轉到了用Photos來備份。新問題是Photos並不能直接整合DS File的備份,導致全部相片都要從零開始的新來一次,佔用了兩倍的NAS儲存,但是DS File的舊備份不能一鍵刪除(因爲有的舊照片只在DS File的備份裡,手機上已經刪除了)。本文就分享我是如何做備份文件的對比,確保不會誤刪了舊照片。此方法也適合其他的不同地方備份造成重複對比。

閱讀全文: 【DSM7】升級Photos後,刪除舊備份前相片確保有全部備份的方法(不同文件結構的重複文件對比)

升級Photos之後的難處

DSM7出來之前,可能大家都是和小U一樣用DS File來備份照片,但是由於DS File有嚴重功能缺失(後面會說)。所以果斷升級到DS Photos來備份,兩者的界面對比如下:

圖片來源:群晖NAS 篇三:群晖NAS照片备份新姿势:DS photo+DS file+Moments! – 知乎 (zhihu.com)
圖片來源:2023 最強手機相簿整理術: Synology Photos 五招幫你把照片管理的井井有條 | T客邦 (techbang.com)

新舊的不兼容處

Synology Photos的目錄是按照年/月來將相片重新分組,這導致同一個文件在手機和DS File的備份目錄結構與Synology Photos的備份結構不一樣:

#手機和DS File的備份的文件目錄結構
.../DCIM/202301010001.jpg

#Photos的文件目錄結構
Photos/.../DCIM/2023/01/202301010001.jpg

雖然文件名一樣,但是文件夾不同,所以不能直接用diff或者Winmerge這樣的工具做對比。

導出所有子目錄的文件名、不需文件夾結構

雖然文件夾不同,但是無論用DS File和DS Photos備份的文件名是不變的(除非你開啓了改文件名功能)。這樣我們就可以通過導出所有子目錄的文件名來做對比,找出新舊備份的異同,新備份差了哪些文件。

但是像 dir /s /b 這樣的命令會輸出整個目錄結構,即使加了 /a-d 也是只顯示文件(忽略文件夾),並不能直接對比

經過幾番搜尋,終於在 Windows Command line: how can I list all files in all folders without the location just a list of files – Stack Overflow 找到了輸出所有子目錄的文件名(忽略文件夾樹狀結構)的方法:

 dir *.txt -r | % Name

注意一定要在Powershell (不是CMD)中運行。幸好有Powershell這個新shell功能。

實際操作:比對DS File和DS Photos的備份文件

先把NAS做好Drive Mapping映射,然後

cd #你的舊備份目錄
dir *.txt -r | % Name > D:\Drivefilenames.txt #導出文件名列表到Drivefilenames.txt
cd #你的Photos備份目錄
dir *.txt -r | % Name > D:\Photosfilenames.txt #導出文件名列表到Photosfilenames.txt

檢查導出的txt行數是否正確。

打開Excel / Google Sheet,把txt導入,再用countif 命令找出差別,不詳述了有需要解釋請留言。

DS File / Synology Drive手機備份的問題

DS File內建了一個「照片備份」的功能,小U用他來備份手機裏面的DCIM已經幾年,最近才發現他有個嚴重問題:相同的文件不會忽略,而是會重複備份爲_1.xxx,_2.xxx不斷下去,每次重裝APP,或者在新手機上用DS FILE都有這個問題。

不知道爲什麼Synology沒有把忽略重複File的功能做到DS File上,總之我還要花時間把這些_1.xxx,_2.xxx找出來刪掉,浪費時間。DS MOMENT的話我查了下好像不同版本的MOMENT有的有忽略功能,有的沒有。但DS FILE就一直沒有,不滿!

2019年的文章MOMENT截圖有略過上傳重複檔案的選項:手機空間滿了怎麼辦?用 NAS 釋出 iPhone 相簿空間! – 蘋果仁 – 果仁 iPhone/iOS/好物推薦科技媒體 (applealmond.com)
2018年的教學文中就沒有忽略選項:【NAS教學】 Synology Moments 智慧相簿:將照片全部丟上NAS自動幫你分類 – 瘋先生 (mrmad.com.tw)

舊備份要立即刪掉嗎?

爲了保險起見,我把重複的舊備份轉移到了我的新ITX小主機上的DSM:

$400港幣復活一部近10年歷史的ITX電腦是什麼體驗? – by Upsangel

過多半年沒有發現有問題我就把舊備份刪除掉吧!

DSM內建的重複資料對比和刪除

如果你相信DSM的對比,可以參考:設定重複資料刪除 | DSM – Synology 知識中心

另外可以手動生成重複資料列表,再用命令行方式刪除:在群晖中批量删除重复文件(零基础手把手图文)_NAS存储_什么值得买 (smzdm.com)

但問題是,重複資料列表生成最多5000個,而且不確定他會刪除哪個目錄裡的文件,例如會不會有時候刪除舊備份目錄裡的,有時候刪除新備份目錄裡的?知道的網友請補充一下。

歡迎你的留言討論:

你可以一針見血

by Upsangel
Logo