cron crontab whenever

http://morizyun.github.io/blog/whenever-gem-rails-ruby-capistrano/


$ gem install whenever
$ cd /apps/my-project
$ wheneverize .

/apps/my-project/config/schedule.rbが出来る

$ nano ./config/schedule.rb

# Use this file to easily define all of your cron jobs.
# Example:
#
# set :output, "/path/to/my/cron_log.log"
#
# every 2.hours do
# command "/usr/bin/some_great_command"
# runner "MyModel.some_method"
# rake "some:great:rake:task"
# end
#
# every 4.days do
# runner "AnotherModel.prune_old_records"
# end

every 3.minutes do
command "ruby /home/user/apps/my-project/hello.rb"
command "pwd"
end

$ nano ./hello.rb

p "hello cron job !!!"

$ sudo apt-get install postfix #cronのMTA
$ mkdir /home/user/Maildir/new #cronの実行結果(ruby /home/user/apps/my-project/hello.rb, pwd)の出力先
$ whenever -i
$ crontab -l

0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /bin/bash -l -c 'ruby /home/johny/apps/whenever/hello.rb '
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /bin/bash -l -c 'pwd'

$ nano /home/user/Maildir/new/20150804085801.3EEDD1C82A0A@user_domain

Return-Path:
X-Original-To: user
Delivered-To: user@user_domain
Received: by user_domain (Postfix, from userid 1000)
id 3EEDD1C82A0A; Tue, 4 Aug 2015 16:58:01 +0800 (CST)
From: root@user_domain (Cron Daemon)
To: user@user_domain
Subject: Cron /bin/bash -l -c 'ruby /home/user/apps/whenever/hello.rb'
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
Message-Id: <20150804085801.3EEDD1C82A0A@user_domain>
Date: Tue, 4 Aug 2015 16:58:01 +0800 (CST)

"hello cron job !!!" #<=出力結果

$ nano /home/user/Maildir/new/20150804085801.4A7F41C82A09@user_domain

Return-Path:
X-Original-To: user
Delivered-To: user@user_domain
Received: by user_domain (Postfix, from userid 1000)
id 4A7F41C82A09; Tue, 4 Aug 2015 16:58:01 +0800 (CST)
From: root@user_domain (Cron Daemon)
To: user@user_domain
Subject: Cron /bin/bash -l -c 'pwd'
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
Message-Id: <20150804085801.4A7F41C82A09@user_domain>
Date: Tue, 4 Aug 2015 16:58:01 +0800 (CST)

/home/user #<=cronの実行元ダイレクトリ


$ whenever -c #wheneverで書き込まれたjob削除
#whenever clear