notebook

都内でWEB系エンジニアやってます。

#ansibleでcrontabの制御

ansibleでcrontabの制御

cronモジュールがあるみたいです

実際にいじってみました

---
- hosts: test-servers
  tasks:
    - name: execute perl script
      cron: name="execute perl script" minute="0" hour="5,2" job="perl script.pl" state=present
    - name: ls
      cron: name="ls" minute="0" job="ls -al >/dev/null" state=present
    - name: delete ls
      cron: name="ls" state=absent

crontabはこんな感じ

#Ansible: execute perl script
0 5,2 * * * perl script.pl
#Ansible: ls
0 * * * * ls -al >/dev/null

nameにマッチするものに対して、add,deleteするみたいですね

lsの方はstate=absentで削除

運用作業で一旦特定のスクリプトを停止させたいときとかに使えそうですね

MAILTOとかの設定方法も調べたら実運用で使えるかも、まぁそもそもジョブスケジューラ的な何か使えよって話かもしれませんがw