タグ

cronとtipsに関するa2ikmのブックマーク (8)

  • 第25回 cron周りのベストプラクティス(3) | gihyo.jp

    (1)はこちら、(⁠2)はこちらから。 App::RunCron (3)では、前回(2)に出てきたcron実行結果の通知処理やエラーハンドリングを統一的に行うことができる拙作のフレームワークApp::RunCronを紹介します。 App::RunCronとは? cronにおけるログとエラーハンドリングの問題点 cronで実行したコマンドのエラー処理は悩ましいところです。パイプで出力を後続のコマンドに渡したところで、コマンドの成否自体は後続のコマンドからは知るすべはなく、出力結果から推測するしかありません。ログ処理とも共通することですが、コマンド終了コードがわからないまま、成功時も失敗時の別なく出力が流れてくることから、ログが埋もれてしまうというジレンマをcronは抱えています。 かといって、ジョブごとにエラー処理を書くのは、正しく書くのも難しく、書けたところで各ジョブ内に同じようなコードが

    第25回 cron周りのベストプラクティス(3) | gihyo.jp
  • cron上でのコマンド実行を再現する - Qiita

    シェル上だと動くのにcron上だと動かない。 よく聞くお話ですよね。 大体はcron上と普段のシェル上で環境変数が違うために起こる問題です。 そういう時に使えるtipsを共有します。 個人のマシン上で適当に動かすようなcronだと みたいにしてログインシェルを間に噛まして環境変数を上書きして実行することでごまかしたりもできます。 これまた別の依存する箇所を増やすので 個人のマシンかrcファイルがちゃんと管理されているような状況以外ではオススメできません。 なのでcron上で実行される状況とほぼ同じ状況でスクリプトを実行してみましょう。 cron上では環境変数はほぼ空なので環境変数を空にしてみましょう。

    cron上でのコマンド実行を再現する - Qiita
  • crontab の日付指定、あなたの理解は間違っている

    ご存じの方には濡れ衣ですごめんなさい。 これ間違って理解してました。 真実を知って衝撃を受けました。 周りに聞いてみたら多くの人が同じく誤解してました。 問題 crontab でこういうスケジュールを設定したら コマンド hoge はどのようなタイミングで実行されるでしょう。 0 0 13 * 5 hoge こたえ 毎月13日の金曜日の0時0分 だと思ってたんだけど、これ間違いでした。 正しくは、 毎月13日または金曜日の0時0分 だった。はい「知ってたよ」っていう人はごめんなさいよ。 日と曜日だけ or になる crontab の書式は、基的に and なんですよね。 0 9 1 10 * だと、 10月 かつ 1日 かつ 9時 かつ 0分 のタイミングで実行。 ところが、日と曜日だけは「または」になります。 さっき実験してみたけど実際にそうなった。 crontab – Wikiped

    crontab の日付指定、あなたの理解は間違っている
    a2ikm
    a2ikm 2013/12/25
    知らなかった
  • rbenvのrubyスクリプトをcronで処理する方法 - じゃ、ま、いっか

    環境はさくらVPS上のUbuntu Serverです。 セットアップのログはここ セットアップついでにrbenvに乗り換えたのだけれど cronrubyのスクリプトを動かそうとしてハマりました。 とりあえず動けばいいや ってことでcronじゃなくて、無限ループさせてた while :; do ./homu.rb; sleep 3600; done けれどターミナルがひとつつぶれるしアレなので解決策を探してみた。 cronで処理する方法 以下参考にしたサイト stackoverflow/ruby script using rbenv in cron Maeの(Mae向きな)日記/cronでrbenvを使ってrubyスクリプトを実行する方法 uu59のメモ/livedoorクリップをGmailに持っていって検索を便利にする まず、$HOME/.bash_profileにrbenvの設定を追加

    rbenvのrubyスクリプトをcronで処理する方法 - じゃ、ま、いっか
  • crontabがどうしても動かないときに確認すべき3つの点+α - ドキッ!はてなブログに移転しました!

    とりあえずここではCentOS5.3に標準で入ってたcronでの話ということで crondは動いているか 実行ファイルの権限は正しいか cronのログを確認すべし ということで crondは動いていますか? # /etc/rc.d/init.d/crond status crond (pid xxx) を実行中...で動いているか確認 # chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:offで2-5番までonになっていますか? 実行ファイルの権限は正しいですか? ls -al | grep test -rwxrwxr-x 1 hoge hoge 2615380 3月 10 01:54 test.jarで実行したいファイルの実行権限を確認してみましょう ちなみにここでは 最初のrwxはファイル所有者の権限 次のr

    crontabがどうしても動かないときに確認すべき3つの点+α - ドキッ!はてなブログに移転しました!
  • はてなブログ | 無料ブログを作成しよう

    ハリイカの焼売と中華炒め ハリイカをよく、見かけるようになりましたよ。生け簀で、泳いでいたものを一杯購入しました 立派な大きな墨袋や肝は冷凍保存して 柔らかな身は季節のお豆、お野菜と合わせて中華の炒めものに。新鮮なにんにくの茎は刻み、香り高く欲そそられますね 下足はミンチにし…

    はてなブログ | 無料ブログを作成しよう
  • crontabの書き方

    crontabの設定方法をすぐに忘れるのでメモ代わりにまとめています。 ※最初にまとめてからかなり時間が経過したので、内容の精査とその間に勉強した項目を追加しました。 crontabを設定する方法 crontabを設定する方法には2通りの方法があるので説明をしていきます。 crontab -e ※コマンドで設定 crontab ファイル ※ファイルを読み込んで設定 「crontab -e」コマンドで設定 「crontab -e」コマンドを実行するとcronを設定する画面が表示されます。 「e」では無く、横にある「r」を誤って指定してしまうと、設定されているcronの内容が削除されてしまうので注意してください。 $ crontab -e 設定を編集する画面が表示されるので、下記のような書式で設定を行います。 00 * * * * /root/disk-space.sh ちなみに、設定している

    crontabの書き方
  • crontabで月末に実行させたし

    crontabで、月末に処理をしたいというものがあってそのソリューションを探していたら こんなのを発見したので、ご紹介。 55 23 28-31 * * /usr/bin/test $( date -d '+1 day' +%d ) -eq 1 && /path/to/script ようは、testにて、次の日が1日かどうかを確認して、OKだったら/path/to/scriptを実行させる。 時分はご自由にどうぞ。28-31はとりあえずしかたないな。 と、こんなこと調べてたけど、実は最近のcrontabだとそういう指定がピロっとできたりしたらショックだな…。

  • 1