2011-09-06 6 views
21

毎日午前12時20分にRubyスクリプトを実行するMac OS Xマシンにcronジョブを書き込もうとしています。毎日午前12時20分に実行されるcronジョブを作成するにはどうすればよいですか?

これは私が実行するために必要なものですが、私は、Mac上で使用する構文やコマンドを知らない:

/usr/bin/ruby /Users/tamer/scripts/sftp.rb 

私はcrontab -eをやって読んで私はその後何かをする必要がありますか?

答えて

39

"0:20で日常" のためのcrontabは、crontabの中に全体のラインはその後、crontabエントリはのようになります

20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb 
11

だろう

20 0 * * * 

です:

20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb 

これは、すべての動作をさせるために他の環境変数を必要としないことを前提としています。他の変数が必要な場合は、Rubyプログラムとスクリプトを実行する環境設定シェルスクリプトを作成します。ジョブをサブミットし

は、私は通常使用します。

crontab -l > x3 
echo "20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb" >> x3 
crontab < x3 
rm x3 
+1

はあなただけ(X3の一時ファイルを使用しての代わりに)crontabの設定ファイルを編集するために 'のcrontab -e'を使用していないだろうか? – snowbound

+1

@snowbound:おそらく、私が知っていたか、そのオプションがそこにあったのを覚えていて、インタラクティブな編集をしたいのであれば。もし私がそれをスクリプティングしていたら、(例えば 'mktemp'のような)より良い一時ファイル名を使うこととは別に、私はおそらくそれを表示するようにします。または、私は通常ソース管理下に 'crontab'エントリを保持しているので、私はファイルのマスターバージョンを編集し、変更をチェックインした後に再投稿します。 –

+0

あなたのアプローチには、別のスクリプトによってプログラムで呼び出すことができるという利点もあります。D – snowbound

関連する問題