Qnap NAS直接備份icloud

最近小弟因為Google無限相簿沒了,打算把所有相片都集中到NAS上面管理,

但是Google可以打包下載雲端上的照片,但是icloud卻一直找不到方法,剛好在

網路上看到對岸有人分享群輝的備份的方法,想說一樣都是NAS應該自己的Qnap

也可以吧,加上我薄弱的linux知識,就照著上面的方式摸索出來最後還成功XD。


以下使用Container Station備份iCloud照片

打開ContainerStation > 點選Create > 選擇Docker Hub centos(Official) > Install

Qnap NAS直接備份icloud

安裝centos7.6.1810版本 > Next > Advanced Settings

Qnap NAS直接備份icloud

Volume from host > 點擊Add > 選擇你要備份的目的位置(/iCloudBackup) > Mount Point輸入 /mnt > Create

Qnap NAS直接備份icloud

centos7.6.1810 運行中

Qnap NAS直接備份icloud

點選centos進到Console畫面

Qnap NAS直接備份icloud

我們需要下載一些元件來使用

輸入yum -y install epel-release > 等待執行跑完結果

Qnap NAS直接備份icloud

輸入yum -y install python-pip > 等待執行跑完結果

Qnap NAS直接備份icloud

輸入pip install --upgrade pip (將pip腳本升級到最新) > 等待執行跑完結果

Qnap NAS直接備份icloud

輸入pip install icloudpd > 等待執行跑完結果

Qnap NAS直接備份icloud

yum -y install vim (安裝vim工具, 準備做一個自動化腳本) > 等待執行跑完結果

Qnap NAS直接備份icloud

輸入ls 可以查看目前有的文件

Qnap NAS直接備份icloud

輸入vim backup.sh (創建腳本,並命名為backup)

Qnap NAS直接備份icloud

在腳本vim模式下,按下i為--insert--模式

在--insert--模式下輸入腳本,腳本內容如下:
#!/bin/bash

pgrep -f icloudpd && echo "icloudpd is already running." && exit

icloudpd -d /mnt --username icloud id --password icloud password

註解:
// /mnt為當時container掛載的文件夾名字
//icloud id, icloud password替換成自己的account/password

Qnap NAS直接備份icloud

當腳本輸入完後,按下ESC鍵退出腳本,這時候會回到vim命令模式(--insert--消失)
輸入:wq 可以退出腳本

Qnap NAS直接備份icloud

創建完腳本後,要來運行腳本,運行前要先提升權限
輸入 su root backup.sh 來運行腳本

Qnap NAS直接備份icloud

第一次運行會與Device做二次驗證,但之後運行都不會再做驗證
iCloud就開始自動下載到NAS上啦~~~(^ ^)y

Qnap NAS直接備份icloud


上面我們知道是透過centos執行腳本方式來下載我們iCloud照片,但每次都要手動也太麻煩,因此要如何做到排成運行腳本呢?

這時候就使用crontab指令來自動運行排程備份拉
首先,先安裝工具,輸入yum -y install vim-enhanced.x86_64

Qnap NAS直接備份icloud

再安裝crontab套件,輸入指令yum install crontabs

Qnap NAS直接備份icloud


輸入crontab -e來編輯所要指定的排程
這邊輸入* * * * * /root/backup.sh 意思代表每分鐘都執行backup.sh這個腳本一次

Qnap NAS直接備份icloud


完成後按下ESC > 輸入指令:wq 回到上一層

Qnap NAS直接備份icloud

輸入指令crond 後就會每分鐘自動運行下載腳本

Qnap NAS直接備份icloud

大功告成!!!

之後只要下載並存放在NAS上的相片,經過比對後已經存在NAS的照片就不會再次下載。

是不是很方便~~!!

統整一下整個步驟流程:


Container Station:
Create > 搜尋centos > 找到docker hub official版 > 安裝centos7.6.1810
Advanced setting > Volume from host > Click Add
Host Path > 指定存放的位置
Mount Point > /mnt
Create

CentOS上安裝套件:
yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip //升級pip腳本到最新
pip install icloudpd
yum -y install vim //安裝vim工具,準備做一個自動化腳本
ls //查看目前有的文件
vim backup.sh //創建腳本,並命名為backup


脚本内容:
#!/bin/bash
pgrep -f icloudpd && echo "icloudpd is already running." && exit
icloudpd -d /mnt --username icloud id --password icloud password

// /mnt為當時container掛載的文件夾名字
//icloud id, icloud password替換成自己的account/password

創建完腳本後,要來運行腳本,運行前要先提升權限
su root backup.sh

//第一次運行會與app device做二次驗證,但之後運行都不會再做驗證

接下來就可以解放icloud的空間了~~

謝謝收看~
2020-11-26 18:14 發佈
文章關鍵字 QNAP NAS iCloud
money0922 wrote:
最近小弟因為Google...(恕刪)


感覺Synology好像也行?但沒空測試…
謝謝分享~完全不懂概念但照著步驟操作還真的可以下載,真的蠻方便的XD
pumphu_0811 wrote:
謝謝分享~完全不懂概(恕刪)


請問這個模式只有照片能下載?影片不行?下載完後可以同步刪除清出空間嗎?
依照樓主的步驟,前面都很順利,結果一直卡在腳本。

應該是沒有建立好(按wq無法離開)

後面就没辦法繼續了,再來研究一下……

機型:ts451A
zeroexe5

應該要輸入":wq"喔,冒號不能漏掉(vim的指令)

2022-12-14 17:22
感覺很不錯耶,回家也來試試
感謝大大無私的奉獻,謝謝您
感謝教學,先mark
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?