如何通过API配置定时自定义快照


本文摘自PHP中文网,作者坏嘻嘻,侵删。

本篇文章给大家带来的内容是关于如何通过API配置定时自定义快照,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如何通过API配置定时自定义快照

SSD云盘无法开启自动快照,那么就需要自己调用API来设定计划任务完成快照自动化

1、安装配置AliyunCli环境

参考官方文档:AliyunCli配置

2、将如下内容保存为脚本/home/creare.sh

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

### 本脚本仅测试并执行于Linux下

#!/bin/bash

#source /etc/profile

#保留几份快照(无自定义快照情况下不能大于24)

num=3

num=$[$num - 1]

#检查AliyunCli执行路径

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安装正确,再来执行该脚本!"

    fi

else

echo "请先确保AliyunCli安装正确,再来执行该脚本!"

fi

注意:上述脚本会自动删除备份个数以上的最早的脚本创建的快照

请确保脚本创建的快照额度够用,否则会导致脚本执行部分失败

例如:

设置NUM为3,有3个磁盘,那么快照剩余额度需要大于等于9个

3、将需要添加自动快照的ECS实例ID保存到/home/instance.txt文件中

4、添加crontab计划任务(每晚1点30分执行计划任务)

crontable -e插入如下内容:

1

30 1 * * * /bin/sh /home/create.sh

重启crond服务

1

service crond restart

5、快照执行完毕后我们会在控制台看到名称为ScriptsCreate的快照

微信截图_20180929155629.png

以上就是如何通过API配置定时自定义快照的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Linux难学么

Linux如何实现图形界面与命令行界面的切换

Linux下有关磁盘管理的常用命令

如何查看Linux共享文件夹的位置

不再需要某块云盘时应该怎么释放云盘

Linux系统由哪几部分组成

详解Linux下的sudo及其配置文件/etc/sudoers的详细配置

关于Linux下如何创建共享文件夹的实例详解

Linux如何安装qq

Linux命令乱码

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...