Chefでcron設定をする

データベースサーバをChefで構築することを行っていて、そのサーバにバックアップスクリプトを撒いて併せてcronで定期的にバックアップを行わせることを行いたかったのでその際のメモです。

ここに全てが記載されていますがchefでcron設定を行う場合、以下の様な記述をrecipeに記載することで実現できます。

cron "Backup script" do
  user "remper"
  command "/bin/sh /home/foo/backup_script"
  hour "3"
  minute "55"
end

上記の様な記述だと、

  • remperユーザのcronに設定
  • 実行するコマンドは /bin/sh /home/foo/backup_script
  • 毎日3:55に実行

を意味していることになり、Chefを適用したサーバには、

$ whoami
remper

$ crontab -l
# Chef Name: Backup script
55 3 * * * /bin/sh /home/foo/backup_script

とcronが設定されます。