博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux- AWS之EC2大数据集群定时开关机
阅读量:6367 次
发布时间:2019-06-23

本文共 1738 字,大约阅读时间需要 5 分钟。

  众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费。当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲。其实在很多时候没能够完全利用起其全部的资源,尤其在空闲时间,在夜间没有作业的情况下,这些服务器完全处于空闲的状态,却时刻在计费,这是相当不划算的。于是有这样一个方案,我们是不是可以在机器处于空闲的状态时将他们关闭,第二天上班前将他们开起来,下班后不需要使用时又将它们关机。

  在写好脚本运行之前,最好检查一遍开机自启动列表,看看你的业务服务是否又设置了开机自启动,如果没有的话你需要考虑是将它开启还是在脚本上设置每次开机后都开启服务了。相关命令:chkconfig

 Python script

开机脚本

# coding=utf8import boto3ec2 = boto3.resource('ec2')ids = ['i-00000000000000000','i-00000000000000001', 'i-00000000000000002', 'i-00000000000000003','i-00000000000000004','i-00000000000000005','i-00000000000000006']ec2.instances.filter(InstanceIds=ids).start()

 关机脚本

# coding=utf8import boto3ec2 = boto3.resource('ec2')ids = ['i-00000000000000000','i-00000000000000001', 'i-00000000000000002', 'i-00000000000000003','i-00000000000000004','i-00000000000000005','i-00000000000000006']ec2.instances.filter(InstanceIds=ids).stop()

 Shell script

开机脚本

#!/bin/bashexport PATH=/usr/local/python34/bin/:$PATHexport PATH=~/.local/bin:$PATHecho test-ec2sh >> /user/teststartec2.txtpython3 /user/pyfile/startec2.py

 关机脚本

#!/bin/bashexport PATH=/usr/local/python34/bin/:$PATHexport PATH=~/.local/bin:$PATHpython3 /user/pyfile/stopec2.py

 关机脚本并且打印日志

#!/bin/bashTMP_A=/tmp/awsstop.checkTMP_B=/user/shfile/checkfile/awsstop.standerdTMP_C=/tmp/awsstop.logrm -rf TMP_Asleep 600for (( i=1;i<=30;i++ ))doDIFF=$(diff $TMP_A $TMP_B)if [[ -z $DIFF ]]; then   echo "Can stop aws"   echo "Can stop aws" > $TMP_C   date >> $TMP_C  /user/shfile/stopec2.shelse   echo "Can not stop aws waiting 30 minute..."   echo "Can not stop aws" > $TMP_C   date >> $TMP_C   sleep 1800fidone

 crontab 定时执行请参考我的另一篇博文:

Linux- Linux自带定时调度Crontab使用详解
Linux - Linux自带定时调度Crontab使用详解

转载于:https://www.cnblogs.com/RzCong/p/8356143.html

你可能感兴趣的文章
JFreeChart生成3D饼图
查看>>
postgres的\d命令不显示全部的用户表
查看>>
poj 3468 A Simple Problem with Integers
查看>>
OOA/OOD/OOP细讲
查看>>
Tomcat 系统架构与设计模式_ 设计模式分析
查看>>
本地串口TCP/IP 映射到远端串口
查看>>
锁机制探究
查看>>
硬盘直接引导启动Manjaro Linux iso
查看>>
CodeSmith代码生成工具介绍
查看>>
几个常用且免费的接口
查看>>
jQuery文件上传插件 Uploadify更改错误提示的弹出框
查看>>
RHEL6下Apache与Tomcat整合
查看>>
Heartbeat+DRBD+MFS高可用
查看>>
要感谢那些曾经慢待你的人
查看>>
常见的global cache等待事件
查看>>
第 7 章 多主机管理 - 047 - 管理 Machine
查看>>
CentOS5和6的系统启动流程
查看>>
怎么看域客户端是否继承了组策略
查看>>
linux防止DDoS***
查看>>
6.4 Linked List 重做
查看>>