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...