本篇文章给大家带来的内容是关于如何通过api配置定时自定义快照,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
如何通过API配置定时自定义快照
SSD云盘无法开启自动快照,那么就需要自己调用API来设定计划任务完成快照自动化
1、安装配置AliyunCli环境
参考官方文档:AliyunCli配置
2、将如下内容保存为脚本/home/creare.sh
### 本脚本仅测试并执行于Linux下#!/bin/bash#source /etc/profile#保留几份快照(无自定义快照情况下不能大于24)num=3num=$[$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`;dodisk=`$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 $diskdoid=`$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 $idsleep 2snapshot=ScriptsCreate$path ecs CreateSnapshot --DiskId $disk --SnapshotName $snapshotelsesnapshot=ScriptsCreate$path ecs CreateSnapshot --DiskId $disk --SnapshotName $snapshotfisleep 1donesleep 1done}if [[ "$check" -ge "38" ]];then if [[ "$check_sdk" -ge "56" ]]; then start_snapshot else echo "请先确保ECS SDK安装正确,再来执行该脚本!" fielseecho "请先确保AliyunCli安装正确,再来执行该脚本!"fi
注意:上述脚本会自动删除备份个数以上的最早的脚本创建的快照
请确保脚本创建的快照额度够用,否则会导致脚本执行部分失败
例如:
设置NUM为3,有3个磁盘,那么快照剩余额度需要大于等于9个
通义视频
通义万相AI视频生成工具
70 查看详情
3、将需要添加自动快照的ECS实例ID保存到/home/instance.txt文件中
4、添加crontab计划任务(每晚1点30分执行计划任务)
crontable -e插入如下内容:
30 1 * * * /bin/sh /home/create.sh
重启crond服务
service crond restart
5、快照执行完毕后我们会在控制台看到名称为ScriptsCreate的快照

以上就是如何通过API配置定时自定义快照的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/341725.html
微信扫一扫
支付宝扫一扫