您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關通過API配置定時自定義快照的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
如何通過API配置定時自定義快照
SSD云盤無法開啟自動快照,那么就需要自己調用API來設定計劃任務完成快照自動化
1、安裝配置AliyunCli環(huán)境
參考官方文檔:AliyunCli配置
2、將如下內容保存為腳本/home/creare.sh
### 本腳本僅測試并執(zhí)行于Linux下 #!/bin/bash #source /etc/profile #保留幾份快照(無自定義快照情況下不能大于24) num=3 num=$[$num - 1] #檢查AliyunCli執(zhí)行路徑 path=`which aliyuncli` #檢查AliyunCli和ECS SDK安裝情況 check=`$path --help |wc -l` check_sdk=`$path ecs |wc -l` start_snapshot(){ for instance in `cat /home/instance.txt`; do disk=`$path ecs DescribeDisks --InstanceId $instance --output json --filter Disks.Disk[*].DiskId |awk -F "\"" '{print $2}'` region=`$path ecs DescribeDisks --InstanceId $instance --output json --filter Disks.Disk[0].RegionId |awk -F "\"" '{print $2}'` for disk in $disk do id=`$path ecs DescribeSnapshots --RegionId $region --DiskId $disk --Status accomplished --SnapshotName ScriptsCreate --output json --filter Snapshots.Snapshot[$num].SnapshotId |awk -F "\"" '{print $2}'` if [[ "$id" != "" ]]; then $path ecs DeleteSnapshot --SnapshotId $id sleep 2 snapshot=ScriptsCreate $path ecs CreateSnapshot --DiskId $disk --SnapshotName $snapshot else snapshot=ScriptsCreate $path ecs CreateSnapshot --DiskId $disk --SnapshotName $snapshot fi sleep 1 done sleep 1 done } if [[ "$check" -ge "38" ]];then if [[ "$check_sdk" -ge "56" ]]; then start_snapshot else echo "請先確保ECS SDK安裝正確,再來執(zhí)行該腳本!" fi else echo "請先確保AliyunCli安裝正確,再來執(zhí)行該腳本!" fi
注意:上述腳本會自動刪除備份個數(shù)以上的最早的腳本創(chuàng)建的快照
請確保腳本創(chuàng)建的快照額度夠用,否則會導致腳本執(zhí)行部分失敗
例如:
設置NUM為3,有3個磁盤,那么快照剩余額度需要大于等于9個
3、將需要添加自動快照的ECS實例ID保存到/home/instance.txt文件中
4、添加crontab計劃任務(每晚1點30分執(zhí)行計劃任務)
crontable -e插入如下內容:
30 1 * * * /bin/sh /home/create.sh
重啟crond服務
service crond restart
5、快照執(zhí)行完畢后我們會在控制臺看到名稱為ScriptsCreate的快照
關于通過API配置定時自定義快照的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。