Git要達到像Azure提供的排程備份,需要藉助WebJob
加上批次檔
來幫忙
【第一步】
首先在我們自己的電腦建立一個Bat批次檔:
邏輯很簡單: 在app根目錄 > 添加修改的檔案 > 提交 > 上傳
,另外備註部分我習慣加上日期時間在 commit 作為標記,讀者可以照自己習慣做修改。
cd "D:\home\site\wwwroot"
git add .
git commit -m "(%DATE% %TIME%) scheduled commit"
git push
【第二步】
Web工作
,新增工作排程
附註:
WebJob使用CRON指定時間區間
不熟悉的大大可以到線上工具了解 Online Cron,舉例0 */15 * * * *
代表每15分鐘跑一次
【第三步】
到記錄
察看結果,沒意外會顯示執行成功紀錄(STATUS=Success)
最後,在 DevOps Repos 可以看到成功上傳紀錄
當想要小調整WebJob內容可以到 App_Data\jobs
底下修改內容,測試可以到右上角點"Run On Console"
,如圖片
使用Git做排程器雖然麻煩,相對的也會獲得好處
gitignore
,自由決定哪些資料類型、資料夾不要列入備份,避免浪費資源去備份不必要檔案
,這是很棒的一個優點。增量備份
的形式最後 Azure WebJob 當然不只這點能耐,它不只能執行簡單邏輯Bat,還可以執行.NET程式,甚至還有提供SDK可以使用,明天讓我們一探究竟吧。
紀錄:Azure總花費金額:0
暐翰
請問邦主,如果有使用DevOps Repos,還需備份嗎?
這邊文章是將要備份的資料,備份到local端嗎?
再麻煩邦主解惑,謝謝。
暐翰
抱歉,邦主~~我問的不清楚。
如果專案本身就是透過Azure DevOps來進行版控跟發佈到 Azure Web App的話,是不是就不用透過WebJob 備份回Azure DevOps?
再麻煩解惑了,謝謝。
需要額外備份
這邊主要備份的是正式環境的資料,像是正式環境運行中產生的log檔案
瞭解了!非常感謝。