September 12, 2019

透過 Bash 自動建立 Vultr Snapshot - 3

透過 Bash 自動建立 Vultr Snapshot - 3

Vultr Snapshot 數量限制

有跟著上一篇文章用 cron job 備份的觀眾,可能會發現 Snapshots 經過一段時間後怎麼都沒有再增加了呢?試著執行上一篇的 script

./vultr-auto-snapshot.sh
# Unable to take snapshot: You have reached the maximum number of snapshots permitted

噹噹!原來是撞到 Vultr Snapshot 上限了,目前(2019/09)的上限是 11 個。

先手動砍一下吧!

自動化?

接下來有兩個選擇:

1. 每隔幾天就手動砍一下(光想就累)

2. 改善現有的 script,自動砍砍砍!

身為一個很懶的工程師,當然是選擇 2 囉!來思考看看怎麼達到自動化吧!

目標

只保留最近的三個 snapshots。

現有資源

  • /v1/snapshot/list

取回所有 snapshots 的資料(照時間排,越新的越上面),再從裡面找出要刪除的 SNAPSHOTID。

  • /v1/snapshot/destroy

透過 SNAPSHOTID 來刪除。

作法

1. 取回的 snapshots 可能還有其他 VPS 的備份,砍錯就頭大了!這邊可以透過建立 snapshot 時,附加的 description 來做篩選。

2. 篩選出來的 SNAPSHOTIDs,如果超過三個,就把最後一筆刪掉。

3. 建立新的 snapshot,完工。

To Be Continued...

Reference

comments powered by Disqus