タグ

2011年4月26日のブックマーク (5件)

  • SIGNALを考慮してないTheSchwartz Job workerをなるべく安全に停止する - 酒日記 はてな支店

    TheSchwartz の worker はシグナルに対してデフォルトでは何もしないので、再起動させようと SIGHUP を送信したりすると job 処理の途中で割り込まれて死ぬ可能性があります。 自前でトラップして安全に再起動する方法は過去に TheSchwartz の worker を安全に停止する で書きました。3年前の記事ですが。 今回は、シグナルへの対処がなされていない古いスクリプトを修正したものの、既に動いている worker を安全に止めないと入れ替えられないのでどうするか、というお話。 安全な停止法を twitter で緩募したところ、以下のようなアドバイスを頂きました。しかし別の queue DB 使うのは確実そうだけどちょっと面倒ですよね…… 緩募: signal trapしてないTheSchwartzのjob workerを安全に止める方法 2011-04-25 11

  • Search::Sitemap

    NAME Search::Sitemap - Perl extension for managing Search Engine Sitemaps SYNOPSIS use Search::Sitemap; my $map = Search::Sitemap->new(); $map->read( 'sitemap.gz' ); # Main page, changes a lot because of the blog $map->add( Search::Sitemap::URL->new( loc => 'http://www.jasonkohles.com/', lastmod => '2005-06-03', changefreq => 'daily', priority => 1.0, ) ); # Top level directories, don't change as

    Search::Sitemap
    hirafoo
    hirafoo 2011/04/26
  • シェルスクリプト入門 [関数・オプション]

    関数・オプション 関数の作成 シェルスクリプトでも関数を作成することができます。 関数は下記のような構文になります。 C言語のように括弧の中に引数を記述する必要はありません。関数に引数を渡す場合は、シェルと同じようにスペース区切りで渡します。関数に渡された引数を参照する場合も、シェルと同じように「$1, $2, ...」と参照します。呼び出し元に終了コードを返す場合は「return コード」と記述します。以下は関数を使用したサンプルスクリプトです。 func.sh #!/bin/sh arg_chk() { # 引数の数が2の場合 if test $# -eq 2 then return 0 # 引数の数が2以外の場合 else return 1 fi } arg_chk $@ ret=$? echo "引数チェック結果

  • 障害の兆候を見逃さないためのサーバ監視

    監視するデータ 集客力のあるサイトを運営しているWebサーバやメーリングリストを運営しているサーバ、ソフトウェアを配布するFTPサーバ、ファイル共有をするためのサーバなどは、クライアントからの非常に多くの要求を処理する必要があります。 サーバの応答が遅い場合は、ハードウェアの増強などで対応する必要があります。ボトルネックの特定のためには、原因がCPUのパワー不足なのか、メモリ容量が足りていないのか、回線容量が細過ぎるのかなどを判断しなければなりません。そのほかにもハードディスク容量、マザーボードの温度、UPSの電力、メールの配送効率、Webページのアクセス解析など、運用中に注意して見ておく必要のあるデータは多くあります。 ここでは、システムを運用するうえで、監視項目として挙げられる主要なデータおよびその確認方法を紹介します。 プロセス プロセス関連の監視項目には、以下のようなものが挙げられ

    障害の兆候を見逃さないためのサーバ監視
  • Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々

    先日、諸々の都合で遠隔にあるテスト環境のサーバ(Linux)のカーネルパラメータを弄っていたのですが、ちょっと設定(メモリまわり)がイキすぎてしまいw、コマンド実行というかforkできなくなってしまった(Cannot allocate memory...)。 んで、shutdownコマンドも実行できなくなったので、直そうと思ったのですが、色々弄った&時間がなかったこともあり、一旦OSを再起動しちゃいたいな、と(汗 が、遠隔にあるサーバなので、物理的な電源スイッチON/OFFができない(厳密には出来る環境ではあったのですが、このサーバはそこに入ってなかったw)。ので、SysRqキーを送ることにした。 やり方 少し無理矢理感はありますが、 # echo b > /proc/sysrq-triggerを実行すると、強制的にリブートがかかります。 ただし、ファイルシステムのsyncとかumount

    Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々