2018年9月2日 星期日

備份家庭照片真的不是一件簡單的事情 - 其二

呈上一篇,話說到使用 Photos 來輸出未修改的原始檔案,輸出的目錄名稱會有個缺點,那是什麼呢?就是 Photos 是會混合地點名稱在目錄裡面的,而且還放在最前面。舉例來說:
有一些照片是在「土城」拍的,一些照片是在「鶯歌」拍攝的,依據它的命名規則,你的目錄將會是「土城 - 地址, YYYY年M月D日」和「鶯歌 - 地址, YYYY年M月D日」這樣的形式,但我個人不太喜歡,主要因為這樣子的文字排序會無法方便的依據日期找照片!

而且網路上搜尋一下常見的整理照片方式大概都是依日期分類,不然就是現在很夯的 AI 輔助分類,不過由於 AI 輔助分類並不會被資料夾影響,所以我們可以先假設照片應該都要先依據日期分類好比較好整理照片!所以目前的功課便會是如何讓資料夾只剩下日期就好。

前面也說了,照片的目錄會依據某個固定的結構來產生,這時候就要利用正規表示法來好好的過濾掉我們不要的部分,留下需要的部分。我目前工作上使用的是 C# 語言,所以就用它寫了一個可以在特定的目錄自動進行更名的程式,有需要參考的可以至此連結觀看程式碼!

邏輯概念為下:
  1. 列舉目標目錄下面所有的子目錄
  2. 針對每一個子目錄名稱,使用正規表示式分離出日期部分
  3. 針對日期部分,使用正規表示式將年、月、日分離,最後使用 YYYY-MM-DD 格式取代原本的日期格式(這是配合 Moments 的目錄架構,方便日後整理,可以選擇性跳過不處理!)
  4. 將資料移至修改名稱後的目錄中
寫程式會花費一小段時間,但是一勞永逸,以後相同的事就交給它處理即可~
至此照片初步按照日期整理完畢,就等 Moments 內建的 AI 或是轉檔程式完成他們的工作了!

不過不知道是否是實驗時檔案增減的關係,現在 Moments 似乎有點錯亂了,照片縮圖明明回報已經完成,但是網頁或是 App 上面卻都無法顯示,而且發現有些照片它歸類的日期似乎不太對,很錯亂的感覺!看來又要找時間研究一下怎麼回事了~

2018年8月31日 星期五

備份家庭照片真的不是一件簡單的事情 - 其一

很久沒有發文了,今天就從最近正在做的「備份家庭照片」開始吧~
自從開始使用蘋果小白以來,一直是用 iPhotos 或 Aperture 來整理照片的,後來 Photos 這個程式取代了他們之後,再加上 iCloud 上面 200G 一個月也才NT$90,所以實在是很久沒有自己備份照片了!最近和老婆一致覺得雲端的照片實在是太雜亂了,找照片的時候其實並不算方便,再加上其實 iCloud 速度其實也不算快,尤其是影片方面,在台灣好像有點串流不動的感覺,而我有一部 Synology DS716+,這部 NAS 主要拿來做一些檔案備份,而剛好其實上面也有支援備份手機照片的功能,所以就姑且一試吧!沒想到試了才發現,問題其實還蠻多的啊!

問題:如何將之前的已經備份在雲端的照片備份至 NAS 呢?
依據我現在的使用環境,目前家裡的電腦、手機均可以連線到 NAS,而 NAS 上面也有做網路分享檔案,所以看起來最簡單的方法是透過下列工具來備份:

  1. Synology Moments App
  2. Qubii備份豆腐 - 口袋相簿
  3. 在 Mac 上面使用 Photos 輸出未修改的原始檔案

上面列出的方法每個我都實際操作過,但後來我用的方法是最後一個,現在說明一下遇到了些什麼問題。

一開始選用 NAS 提供的解決方案,也就是使用 Synology Moments App,主要因為功能上看起來還不錯,可以按日期排列,也支援 AI 辨識照片內容並分類,也蠻符合實際上的使用需求的,但開始備份後就發現踩到蘋果的地雷了!!!

簡單解釋就是説,目前任何 iOS App 存取照片的時候,其實都不能直接存取檔案,而是向 iOS 系統發出讀取的需求,由系統協助處理這個讀取需求,如果照片在裝置本身,就讓發出需求的 App 間接的讀取裝置本身的照片,而如果照片是備份在雲端,這時候系統就會幫發出需求的 App 從雲端下載一份至本地,再讓發出需求的 App 間接的讀取裝置本身的照片,系統自己管理這些照片什麼時候該留,什麼時候該刪除,沒有任何程式可以干預系統。所以問題就來了,當系統容量還充足的話,偶而去看看幾張雲端的照片那是沒問題的,可是如果密集的跟系統要求存取雲端的照片,那就是空間災難了!

因為你晚上可能想說睡覺前開始備份,隔天早上應該就備份完了,但結果是隔天早上系統彈出「儲存空間不足」給你看,備份也中止了!這時除了把已經備份過的照片和影片刪除之外,你沒有其他的選擇,而且你刪除了之後,它依舊是有機會發生的!所以你可能要來來回回好幾次才有機會完成備份雲端照片啊!

同理,使用Qubii備份豆腐也是一樣,它在掃描階段似乎就直接跳過無法透過系統下載的照片數量,舉例來說,我的照片和影片加起來是一萬八千多張,但Qubii備份豆腐顯示只備份一萬五千多張,看到少這麼多當下就不想繼續用它備份了!因為我不知道缺的檔案怎麼備份耶~

最後選用的是使用 Photos 來輸出未修改的原始檔案,這種方式在 NAS 有網路分享的狀況之下,直接將未修改的檔案就灌進去 NAS 裡面,讓 NAS 上面的 Moments 直接用灌進去的檔案運算,在速度和備份時間上都是屌打前面兩種方式的!個人推薦最後一個方式是最好的備份方式!不過要有部 Mac 就是了!

不過輸出的目錄名稱有個缺點,下一篇再繼續和大家聊,然後就會需要寫個電腦程式來協助了~