概要
個人管理しているEC2の料金を増やさないため、指定時間(深夜)に自動的に停止させたいです。
すでにcronを使って自動シャットダウンを実現している例がありましたので、Ansible化しました。
記述したいcron
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin:/opt/aws/bin
MAILTO=""
0 19 * * * shutdown -h now 2>&1 | logger -t shutdown -p local0.info
ansible
- name: Creates an entry "SHELL"
cron:
name: SHELL
env: yes
value: /bin/bash
- name: Creates an entry "PATH"
cron:
name: PATH
env: yes
value: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin:/opt/aws/bin
insertafter: SHELL
- name: Creates an entry "MAILTO"
cron:
name: MAILTO
env: yes
value: ""
insertafter: PATH
- name: Create a job for shutdown
cron :
name: shutdown
user: root
minute: 0 # 停止時間を指定します
hour: 24 # 停止時間を指定します
job: shutdown -h now 2>&1 | logger -t shutdown -p local0.info