タグ

cronに関するwasaiのブックマーク (15)

  • cron哀歌~typoを笑うものはtypoに泣く~他 - Qiita

    この記事は「番環境でやらかしちゃった人 Advent Calendar 2019」の12日目です。 https://qiita.com/advent-calendar/2019/yarakashi-production (想像以上に人気のカレンダーに参加してしまい、正直なところ、戦々恐々としております……) はじめに ほとんどの方ははじめまして、 @NACK と申します。 エンジニアになって何十年も経ちますが、未だに、ここに書いた「やらかし」は夢に見ます。 皆さんにご笑覧いただいて、私も一緒に笑えるようになればいいなあ……と思い、今回の企画に参加させていただきました。 というわけで、ぜひ笑いとばしていってください。もしくは、今後のみなさんの業務に、ほんの少しでもお役に立てれば幸いです。 用語説明 typoとは 入力ミスのこと。"typographical error"の略。 http:/

    cron哀歌~typoを笑うものはtypoに泣く~他 - Qiita
  • 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
  • [linux]月末にcronを実行する

    月末にcronを実行したいと思いcrontabに設定を書こうとしたところ、月初のように単純には書けないことに気づきました。 月初だと以下のように「毎月1日に」と書けばいいのですが、 0 0 1 * * 実行したいコマンド月末は30日の場合もあるし2月はうるう年も考慮する必要があります。 調べてみたことろ、testコマンドとdateコマンドを組み合わせて「28日から31日の間で翌日が1日だったら実行する」という設定を書けばいいみたいですね。 0 0 28-31 * * /usr/bin/test $(date -d '+1 day' +%d) -eq 1 && 実行したいコマンド勉強になりました。 参考crontabの書き方 | server-memo.netLinux - testコマンドとcronを組み合わせ、月末にバッチを動かす - Qiita

    [linux]月末にcronを実行する
    wasai
    wasai 2015/10/14
  • cron の意外な落とし穴! - もろず blog

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

    cron の意外な落とし穴! - もろず blog
  • Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう

    こんにちは。斎藤です。 最近、Dockerなどのコンテナ型仮想化技術、Chef, Ansible, Itamae などによるITインフラ構築・運用自動化技術の利用が進んでいます。一方で、何年も動いて「歴史」を積み重ねているシステムも数多くあります。そして、私を含めてそれらの運用に関わる事もあるでしょう。そんな「歴史」のあるシステムも、何とか運用を効率化したいと思う事があるかもしれません。 今日は、バッチジョブや複数サーバに対する運用を効率化するRundeckを取り上げます。「何ができるの?」「はじめかた」そして「利用時の留意点」の3点についてお話しします。 ※OSはCentOS 6系、Rundeck はバージョン 2.4.0、Java VM は Oracle JDK 1.7.0_72 を利用しています。 cronLinux系OSに標準搭載されているジョブスケジューラです。標準で使えるため

    Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう
  • cron上でのコマンド実行を再現する - Qiita

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

    cron上でのコマンド実行を再現する - Qiita
  • cron 設定ファイル (crontab ファイル) の置き場所と書式について - ひだまりソケットは壊れない

    cron周りのベストプラクティス読んだ - $shibayu36->blog; 上の記事を読んで興味を惹かれたので、『WEB+DB PRESS Vol.79』 の 「cron 周りのベストプラクティス」 を読んだ。 Web 上でも公開されている。 (2014-06-23 追記。) 第25回 cron周りのベストプラクティス(1):Perl Hackers Hub|gihyo.jp … 技術評論社 そこでは cron 設定 (crontab) ファイルの記述方法として crontab コマンドを使用する方法が書かれていた *1。 で、記事を見てるうちに、以前 crontab コマンドやら /etc/cron.d やらの違いがよくわからずに調べて社内日記に書き残しておいたことを思いだしたのでブログで公開しておこうと思う。 ちなみに man の内容などは Debian 7 で見てるので、別ディス

    cron 設定ファイル (crontab ファイル) の置き場所と書式について - ひだまりソケットは壊れない
  • fluentd(td-agent) の導入 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 Rubyfluentdtd-agentlog はじめまして。開発チームの yuzuki です。 7/1に弊社の 決済サービスPaid(ペイド) のサーバー群へ ログ集約の改善を目的として導入した fluentd(td-agent) の導入手順などをまとめてみました。 ログ集約を改善する動機 弊社ではこれまで(今も大部分は) cron + rsync を使い、週次バッチでWebサーバー上のログファイルをファイルサーバーへ転送することで一応の集約をさせてきました。 (集約というよりはバックアップといった意味合いの方が強いかもしれません) サーバー台数が少なかった頃はこの仕組みでも特に大きな問題はなかったと思いますが、 サービスの成長にあわせて、サーバー台数が増え

    fluentd(td-agent) の導入 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
  • 本を読む cronから使えるよう祝日判定コマンドを書いた

    Linuxなどのcronで、平日だけ処理を実行したいことがあります。そのために、今日が祝日かどうかだけをチェックする小さなコマンドを作りました。 emasaka/jpholidayp · GitHub 引数なし、設定なし、出力なし。終了ステータスが0(真)なら休日、1なら平日です。 ここでの休日の定義は、土曜、日曜、Google Calendarの「日の祝日」にある日、です。キャッシュしているので、実行するたびにHTTPアクセスが発生するわけではありません。キャッシュは~/.joholidaypに置かれます。 たとえば、平日だけsome-commandを実行する場合は、crontabで以下のようにコマンドを指定します。crontabの曜日指定と組み合わせると、より効率的だと思います。 jpholidayp || some-command

    wasai
    wasai 2013/02/13
    この手のは面倒だからありがたい
  • cronが起動しないときの確認ポイントまとめ

    cronが動かないときの確認ポイントについてまとめました。 日付や時間といった基的な内容は別エントリーしたいと思います(どこまでが基かという話もありますが)。 1.原因を調べる 確認ポイントの説明の前に、cronに設定したコマンドやスクリプトが起動しない原因を調べるには、標準エラー出力を確認することが先決です。 もし標準エラー出力に何か残っていれば、そこから対処案を導き出すことができます。 標準エラー出力の設定方法については5項をご覧ください。 2.ファイルを実行する場合は実行権のパーミッションをつける cronでシェルやPerlなどのファイルを実行する場合、ファイルに実行権のパーミッションの付与を忘れないようにしましょう。 3.ファイルはフルパスで指定する よくやってしまう失敗ですが、ファイルの指定はフルパスで行います。 /home/foo/public_html/foo.shを実行

  • cron等をつかって外部のAPIに問い合わせる場合は、毎時0分を避けるのが大人のマナー - blog.nomadscafe.jp

    なんかtwitterで書いたらウケたっぽいので cronをつかって外部のAPIに問い合わせる場合は、毎時0分をさけるのオススメ!!!!お兄さんとの約束だ!!! — masahiro nagano (@kazeburo) August 9, 2012 某サービスのAPIへの問い合わせ件数を調べると、毎時 0分台(0秒から59秒)のアクセスは1分から59分までの1分間の平均アクセス数の5倍から8倍にもなります。 これはおそらく、crontabの設定が 0 * * * * /path/to/call_foreign_api になっていることが多いからじゃないかなぁと思うのです。 その結果、サーバのロードアベレージは このように毎時0分だけ跳ね上がってしまいます。サービスを快適に提供できなくなる可能性があるので、APIの利用を制限したり、サーバを追加しなければなりません。これはサービス利用者、サー

    wasai
    wasai 2012/08/10
    0分と5分の倍数は避けてますね
  • cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記

    なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro

    cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記
  • Jenkinsでcron実行管理をやってみた。 - oranie's blog

    とりあえず試したので、実際の内容とかはこちらの参考にしたブログ 「Jenkinsで定期実行するJobを管理したほうが良い3つの理由」 を参照した方が良いと思います。以下は試した内容に画像つけたくらいです。 こんな感じのスクリプトを管理してみる。 Jenklinsの環境構築は割愛します。 「Jenkinsで定期実行するJobを管理したほうが良い3つの理由」 ほんと上記のブログのままです。 # cat /tmp/web_gen.sh #!/bin/bash num=`expr $RANDOM % 100` ab -c 1 -n $num http://www.oranie.org/上記の適当なスクリプトを/tmp/に置いてcron実行して管理してみます。 まずこんな感じで以下の様な設定をしてみます。 失敗するとこんな感じ。 履歴はこんな感じで見れる。 ログも「コンソール出力」で閲覧できる。 で

    Jenkinsでcron実行管理をやってみた。 - oranie's blog
  • 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 で踏みにじるとはひどい。 とはいえ、

    wasai
    wasai 2012/06/13
    うーん、確かに捨ててる設定が多い
  • これは便利!CronをGoogleカレンダーで管理する·gCalCron MOONGIFT

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

    これは便利!CronをGoogleカレンダーで管理する·gCalCron MOONGIFT
  • 1