1. Home
  2. /
  3. Web technology
  4. /
  5. Linux
  6. /
  7. [ Linux ] –...

[ Linux ] – 主機 圖片分流 解決方案 使用 crontab / sshpass / rsync

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]

最近有個案子在圖片的流量上面比較吃重,所以需要做圖片的分流,這篇主要是寫如何透 crontab / sshpass / rsync 來實現自動同步圖片。

主機A IP 127.0.0.9 主要上傳圖檔主機
主機B IP 127.0.0.10 圖片分流主機 1
主機C IP 127.0.0.11 圖片分流主機 2

先登入主機B
主要利用排程 crontab 與 sshpass
step 1: 因為要用sshpass功能所以要先安裝sshpass
指令:apt install sshpass

step 2:新增備份指令檔

移到你要存放指令檔的目錄
指令:cd /home/jeff/

新增 指令檔
指令:vi syncfile.sh
輸入以下同步指令
#!/bin/bash
sshpass -p ‘A_password’ rsync -azvv –progress –delete A_account@127.0.0.9:/var/www/html/file/ /var/www/html/file/

編輯指令檔權限
指令:chmod 777 syncfile.sh
說明:看你排程執行的角色去給序檔案權限 我比較懶 直接全開

step 3:編輯排程
指令:crontab -e
*/5 * * * * sh /home/jeff/syncfile.sh
說明:每五分鐘執行檔案同步的指令檔

主機C再重覆一次主機B的步驟

分流機制實作:
圖片主機 陣列
取得隨機的 陣列keys
指定圖片網址

[php]
$picture_url=array(‘http:/127.0.0.9′,’http://127.0.0.10′,’http://127.0.0.11’);
$random_keys=array_rand($this->picture_url,1);
echo $picture_url[$random_keys]
[/php]

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *