タグ

cronに関するtknzkのブックマーク (24)

  • cron + α が欲しい時には ts(Task Spooler) のご利用をご検討下さいというメモ - ようへいの日々精進XP

    おひさしブリーフ、かっぱです。 tl;dr 下図のように cron ジョブで定期的にスクリプトを生成して実行させようとした時、スクリプト完了する前に次の cron ジョブが走ってスクリプトが生成されて、そのスクリプトが実行されてしまうような状況に遭遇してどうしたもんかなと悩んでいたら ts というツールを見つけたので試してみた。 memo ts とは http://vicerveza.homeunix.net/~viric/soft/ts/ https://osdn.jp/magazine/09/01/20/0150258 スクリプトやコマンドを ts コマンド経由で実行することで、それらをジョブとしてキューに放り込んで順次実行してくれるツール。冒頭の構成に ts を加えると下図のようになり、cron の開始時間とスクリプトの実行時間の依存関係は切り離される。 導入 CentOS 6 に導

    cron + α が欲しい時には ts(Task Spooler) のご利用をご検討下さいというメモ - ようへいの日々精進XP
    tknzk
    tknzk 2016/08/31
  • horenso ~ 報・連・相

    Profile id: Songmu (ソンムー) Masayuki Matsuki おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 趣味はCPANizeでした はてな東京オフィス チーフエンジニア Mackerel ディレクター 最近作ったgoプロダクト https://github.com/Songmu/horenso https://github.com/Songmu/prompter https://github.com/Songmu/goshim https://github.com/Songmu/retry/cmd/retry https://github.com/Songmu/wrapcommander https://github.com/mackerelio/che

  • Googleスプレッドシートをcronのように使いSlackに投稿する - Hatena Developer Blog

    はてなチーフエンジニアの id:motemen です。 以前の記事で紹介したようにはてな技術グループおよびデザイングループでは毎週社内で勉強会を開催していますが、これを運営していくにあたってひとつ課題であったのが毎週のリマインドでした。 developer.hatenastaff.com 毎回発表者が違いますから、あらかじめ皆に「今日は○○さんの××という発表です!」と周知して期待を高めたいですし、また次回の発表者には予告をして発表の準備を進めておいておかなければなりません。発表者・タイトル・日付などを記したスプレッドシートがマスターデータとしてあったので、元々は私が人手で、Googleスプレッドシートに記載した発表順を見ながらSlackに共有していました。しかしやはり個人による運用だと予告忘れがあったり、周知のタイミングが朝なり夕方なりまちまちであったりと、参加者にも不便を強いていたし、

    Googleスプレッドシートをcronのように使いSlackに投稿する - Hatena Developer Blog
  • horensoというcronやコマンドラッパー用のツールを書いた | おそらくはそれさえも平凡な日々

    リリースしました https://github.com/Songmu/horenso cron等、バッチジョブを走らせた場合にその結果通知やエラーレポートをどうするかは悩ましい問題です。ラッパースクリプトを統一的に噛ますのが常套手段ですが、そのためのツールとして、horenso というものをGoで作りました。報・連・相。その名の通り、実行ジョブの報告をつかさどってくれる君です。以下のようにして使います。 % horenso -r reporter.pl -- /path/to/job args... -- 以降に指定したコマンドが実行され、その結果がJSONとして標準入力経由でreporterに渡されます。reporterは実行可能なファイル、もしくはコマンドライン文字列であり、記述言語は任意です。reporterに渡されるJSONは以下の様なものです。 { "command": "per

    horensoというcronやコマンドラッパー用のツールを書いた | おそらくはそれさえも平凡な日々
  • cron でのコマンド実行が失敗したときにアラートを飛ばすための alerty というツール : sonots:blog

    cron でのコマンド実行が失敗したときにアラートを飛ばすための alerty というツール : sonots:blog
    tknzk
    tknzk 2015/09/07
  • cron の意外な落とし穴! - もろず blog

    システムを運用していく上で cron を使う場面はよくありますよね 処理をスケジュール実行したい時にとても便利です そんな cron ですが、最近仕事で作業しているときに ntpdate でシステム時刻を変更した後に cron で設定した時刻になってもジョブが実行されないという問題が見つかりました 全てのジョブが実行されていないわけではなく一部のジョブは実行されているようでした また、時刻を変更した後に crond を再起動すれば全てのジョブが正常に実行されるようになりました 幸い、実運用ではなくてシステムテスト中に見つかった問題なのでまだよかったんですが、運用している環境で同じ問題が起きたら相当マズイですよね そもそも ntp の時刻同期でシステム時刻が修正された場合にも同じ問題が起きそうじゃないですか? ググっても同じような事象は見つからず、社内のメンバーにも聞いてみても cron

    cron の意外な落とし穴! - もろず blog
    tknzk
    tknzk 2015/03/19
  • 第25回 cron周りのベストプラクティス(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはsongmuさんこと松木雅幸さんで、テーマはcronです。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 cronとは? cronは指定日時にジョブの自動実行を行うジョブスケジューラです。UNIX系のOSであれば実装の違いこそあれ、ほぼ標準でインストールされています。 作業自動化や、タスクを自動実行したいなどといった場合にcronは避けては通れません。Perlでバッチ処理を書く際などに多くの人が活用していると思いますが、ベストプラクティスがわからず恐る恐る使っている人も多いのではないでしょうか。 稿では、cron活用におけるベストプラクティスについてお話します。 cronの使いどころ cronの使い途は、主に次の3つが考えられます。 a.アプリケーションのジョブの実行 b.システムに関わる

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

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

    cron上でのコマンド実行を再現する - Qiita
    tknzk
    tknzk 2014/05/23
  • Chronoつくった - ✘╹◡╹✘

    * * * * * T T T T T | | | | `- wday --- 0 .. 6 | | | `--- month -- 1 .. 12 | | `----- day ---- 1 .. 31 | `------- hour --- 0 .. 23 `--------- minute - 0 .. 59 https://github.com/r7kamura/chrono Rubycron形式の構文を利用するために、Chronoというライブラリをつくった。開発動機はRubotyというHubotクローンで利用するためで、チャットからcron形式でジョブを登録することで定期的に発言をしてくれるような機能をつくろうと考えてた (こういうやつ)。 既存のもの clockwork - A clock process to replace cron rufus-scheduler - J

    Chronoつくった - ✘╹◡╹✘
  • cron周りのベストプラクティス読んだ - $shibayu36->blog;

    WEB+DBPerl Hackers Hubで書かれていた「cron周りのベストプラクティス」を読んだ。かなり参考になった。 経緯としては読みたいって呟いたら感想よろしくと言われたので慌てて読んだ。 @shiba_yu36 「読んだ」なら言ってもいい— songmu (@songmu) 2014年2月24日 @shiba_yu36 マジに謝られても…— songmu (@songmu) 2014年2月24日 @shiba_yu36 マジになって感想エントリを書いてください。— songmu (@songmu) 2014年2月24日 特に参考になったこと batch.pl batch.plは非常に良いと思った。というのもcronとかのスクリプトで非常に簡単な事をやっている場合は適当にplファイルを作っちゃって登録するんだけど、得てしてそういうのはテストが無くてバグってて、しかもcronのロ

    cron周りのベストプラクティス読んだ - $shibayu36->blog;
  • Whenever gemを使ってRubyで簡単にcronを設定してみた

    Wheneverを使ってRubycronを設定したときのメモを残しておきます。 春ごろにも仕事で使ったので、備忘録として残しておこうと思ったら忘れてしまって、今頃になってまたcronの設定を仕事でやったので、今度こそはと思い、メモっておきます。 Railsプロジェクトなのでそれを前提に記事を書いています。 Wheneverとは? Wheneverは、とかく忘れがちなcronの設定をrubyの構文でわかりやすく記述することができます。 いい加減なプロジェクトだと、番サーバに何となくcronを設定しただけになって、どこを見ればどういうバッチ処理が走っているのか把握しにくいというような場面によく遭遇しました。 Wheneverはただ単にわかりやすいというだけではなく、設定ファイルをバージョン管理システムに登録しておくことで後から読み返すことが容易になり、設定を忘れてしまった場合にも安心です。

    Whenever gemを使ってRubyで簡単にcronを設定してみた
  • anacronふたたび。(「RHEL6で悩ましい諸々」シリーズ) - めもめも

    何の話かというと 微妙な違いではあるのですが、RHEL5とRHEL6では、cronとanacronの関係が若干変わっています。 RHEL5を運用していた方は、cronとanacronの関係を cronが実行しそこねた定期ジョブをanacronが代わりに再実行する と捉えているのではないでしょうか? これは間違いではないのですが、実は、もともとcronとanacronにはこのような関係はありません。それぞれ独立したジョブ実行ツールであり、目的に応じて使い分けることになります。なのですが、RHEL5では、あえてcronとanacronを連携させるような設定を行なって、上記のような使い方をしていました。おそらくこれは、「cronしか無かった時代の設定を引き継ぎつつ、anacronのジョブ再実行機能も使いたくなった」という歴史的な理由によるものです。 一方、RHEL6では、このような連携はなくなっ

    anacronふたたび。(「RHEL6で悩ましい諸々」シリーズ) - めもめも
  • cron の実行ログをすてさせないライフハックできたよー - tokuhirom's blog

    昨今、cron のログにかんする話がちょいちょいありますが、問題点をまとめると stdout or stderr に1バイトでも書くとメールがとぶインタープリタのだす warnings や printf デバッグの名残りなどでもメールがいちいちとんでめんどくさいめんどくさいから出力を /dev/null にほうむりがちログを /dev/null にすてると運用にさしつかえるといったところかとおもいます。 これにたいする一般的なソリューションとして、かずほさんの cronlog というのがあって、これは exit status をみて stdout/stderr の出力を /dev/null または任意のファイルにおくってメールをとばさせないというソリューションです。 cronlog は便利なのだけど、毎行設定するのだるいという問題があるので、設定が簡単なように cron に以下のようなパッ

    tknzk
    tknzk 2012/06/15
  • cron で > /dev/null して椅子を投げられないための3つの方法 - 酒日記 はてな支店

    (タイトルは釣りです) いい加減、>/dev/null 2>&1と書くのをやめたらどうか - DQNEO起業日記 この記事のタイトルが twitter で流れてきたのを見て、「そうだ!出力を /dev/null に捨てるなんてとんでもないよね!」と思ってよく読んだら /dev/null に間違いなく捨てる方法だったのでつい crontabに > /dev/null 書いたら椅子投げる 2012-06-13 00:01:17 via YoruFukurou とつぶやいてしまったのですが、では出力を捨てないためにはどうすればいいのか。現時点での個人的ベストプラクティスを書き留めておきます。 デフォルト : メールで送る (MAILTO) せっかく cron daemon がログを捨てないためにわざわざメールで送ってくれるのに、それを > /dev/null で踏みにじるとはひどい。 とはいえ、

  • つい最近知ったcrontabのマクロ - harry’s memorandum

    cronの語源がギリシャ神話の時間の神クロノス(chronos/kronos)だったとはマジに知らなかった。 語源は別にしてcrontabマクロというのがあるんですね。こんな感じに@rebootとするとOS起動時に test.pl を実行してくれる。/etc/rc.localに書いておくようなものですね。 $ crontab -l @reboot /home/user/test.pl http://en.wikipedia.org/wiki/Cron#Predefined_scheduling_definitions Entry Description Equivalent To @yearly (or @annually) Run once a year 0 0 1 1 * @monthly Run once a month 0 0 1 * * @weekly Run once a we

    つい最近知ったcrontabのマクロ - harry’s memorandum
  • Mac OSX用Cronエディター·Cronnix MOONGIFT

    CronnixはMac OSX用のオープンソース・ソフトウェア。Linuxでよく使われるプログラムの自動起動ツールがCronだ。テキストで一行単位の設定なのでわかりやすいのはいいが、その書き方に慣れるまでは使いこなすのが難しいかもしれない。 メイン画面 単純に日や曜日、時間とプログラムを指定して実行程度であれば、いいがもっと深くCronを知って使いこなしていくならばCronnixを使ってみると良さそうだ。Cronnixを使えばGUIを使って分かりやすくCronの設定が行える。 Cronnixを起動すると設定されているCronが一覧になって表示される。ユーザレベルまたはシステムレベルでの設定が可能だ。そして追加、編集も分かりやすくできる。曜日もチェックボックスを付けていくだけでいい。後は実行するプログラムを選択する。 設定画面 保存すれば自動的に反映される。Cron情報をエクスポートして、別

    Mac OSX用Cronエディター·Cronnix MOONGIFT
    tknzk
    tknzk 2010/06/20
  • これは便利!CronをGoogleカレンダーで管理する·gCalCron MOONGIFT

    Cronは便利なシステムだ。バッチ処理を行いたい場合、大抵Cronを使って処理を行うはずだ。だが管理が意外と面倒くさい。各ユーザが勝手に作ったりすると特に煩雑になり、システムを入れ替えた際に、移行し忘れてしまい動かなくなったりする。 GoogleカレンダーでCronを管理する Cronを手軽に一覧から管理したいと思ってきた方は、gCalCronを使ってみると便利かもしれない。 今回紹介するオープンソース・ソフトウェアはgCalCronCronの管理インタフェースとしてGoogleカレンダーを利用するソフトウェアだ。 gCalCronPython製のスクリプトで、root権限で動作する。gCalCron自体がCronに設定されるようになっている。そして設定時間(デフォルトでは30分)ごとにGoogleカレンダーをチェックするようになっている。 コマンド実行設定。rootのCronに自動設

    これは便利!CronをGoogleカレンダーで管理する·gCalCron MOONGIFT
  • cronでエラーメールの送り先を指定する方法 — ディノオープンラボラトリ

    cronは良く使うツールの一つだと思いますが、何故かトラブルの思い出がつきまとうのは僕だけでしょうか。今日はそんなcronの便利な機能を一つ紹介します。 cronで実行するコマンドの作法 はじめにcronスクリプトの作法を紹介します。cronは決められた時間が来るとコマンドを自動実行する仕組みですが、自動実行するコマンドは下記の条件を満たすべきです。 正常終了した場合は標準出力/標準エラー出力に何も出力しない 異常終了した場合は標準出力/標準エラー出力にエラーメッセージを出力する というのも、cronで実行したコマンドが標準出力・エラー出力に1バイトでも出力した場合、その内容がメールで送信されます。僕は異常時だけメールを受け取る使い方が一番スマートに思えます。 もしくは、次のような使い方も考えられます。 コマンドのログは標準出力に出力し、ローカルのログファイルに追記する 異常終了した場合は

    tknzk
    tknzk 2009/03/31
  • これは面白い!JavaScriptでcron実行「jsCron」:phpspot開発日誌

    jsCron, portando Cron a Javascript | aNieto2K これは面白い!JavaScriptcron実行「jsCron」 0 10 * * * コマンド の形式で実行できるcronですが、JavaScriptで特定の関数をcron形式で実行できるようにしたライブラリが公開されました。 サンプルコードは次のようになっています。 // 実行する関数定義 function hola() { alert("Hola"); } // cron設定 jsCron.set("35 17 * * * hola()"); 訪問者が訪れた時刻によって処理を変えたい場合など、なかなか使えそうですね。 関連エントリ JavaScriptでページスライダー用ライブラリいろいろ Extバリの超クールなUIを提供するJavaScriptライブラリ「Jx Library」 使えるJav

  • 恐怖のcrontab -r. 設定ファイルはレポジトリ管理せよ - LukeSilvia’s diary

    crontabファイル含め、設定ファイルはレポジトリで管理しましょうという話です。 恐怖のcrontab -r crontab -r を安全にする - antipop 間違えて crontab -r してしまい、crontab をふっとばしてしまったので、以下のような zsh 関数を書いて、確認を出すようにした。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 cronのにジョブを登録する際に、crontabファイルを開きますが、「crontab -e」と間違って「crontab -r」をやると、crontabが消えてしまう。しかも、記事の内容にある通り、「e」と「r」というタイポしてもおかしくない位置にあるというので、これは怖い。 crontabの内容なんてほとんど覚えてない割にはちょくちょく更新するファイル。バックアップとかとってないと大変なことになる。 ytoy

    恐怖のcrontab -r. 設定ファイルはレポジトリ管理せよ - LukeSilvia’s diary