2012-01-01から1年間の記事一覧
あるサーバで5分毎に実行しているバッチ処理があって、毎回の処理でどの程度の処理時間がかかっているのか、サーバの負荷と比較したときに処理時間は比例するのか……など調べていた。 細かな解析についてはスクリプトを用意してゴリゴリと解析していたんだけ…
先日仙台のインフラ勉強会に参加して、藤田さんが発表でちょっと見せてくれたkSarが良さげだったので試してみました。前に試したときは、良さを堪能できなかった、というか英語で使いこなせなかったのですが、コンソール上でsarが出力する数字と睨めっこする…
出先からちょっとしたサーバのメンテナンスをする機会があるので、Moshおもしろそうだなーと思っていたんですが、導入の手順をみていてコンパイルなり必要になりそう……と躊躇していまいた。 ちょっとした機会でMoshを実際に使っている実例をみたので、この機…
表題のとおり、(目的のサイズよりも縦横ともに小さいが)縦横のサイズが不定な不特定多数のJPEG画像を、全て同じ大きさの画像サイズに変換したい。元の画像は目的のサイズよりも必ず縦横どちらも小さいので、変換によって発生する余白は全て白にしたい。「I…
表題でメモは完了している、という話しですが。 # cat > /etc/syslog/hoge <
表題でメモは完了している、という話しですが。 # cat > /etc/syslog/hoge <
サーバをiDC「A」からiDC「B」に移転して、一段落もついてiDC「A」のクローズ準備をしていました。サービスはiDC「A」に移転して正常に稼働をしてからしばらく経つので、基本的にiDC「B」にはクリティカルな残り物はないはず。という前提はあるものの、この…
コンテンツをバックアップするスクリプトを書き上げてから、こんな単純な要求に対して複雑すぎる……感が半端ない。無駄かー (テストで)「/etc/」以下と、「/var/log/」以下をバックアップ バックアップは25日間保存 「/srv/contents-backup-datastore」以下…
VACUUMを実行するバッチのスクリプト 常態的に日次で実行したいので、「FULL」のオプションはつけていません。 「FULL」のオプションがないので、テーブルのロックなどは発生しないと考えています。 不定期的なサーバメンテナンスのタイミングで、手動で「FU…
CkaePHPのO/Rマッパー(?)は複合主キーに非対応なので、自前でCRUDを実装する前提の方がうまくいくと思います。 DataSourceクラスが便利なので、上手く使えば意外とスムーズに実装できたりできなかったり……。でも、せっかくだから自動化できる部分は活用し…
デフォルトのデータベースとして「MySQLのデータベースその1」を利用して、「MySQLのデータベースその2」や「Oracleのデータベース」なども混在して利用するという開発環境での話し。 この環境でデフォルトではない「Oracleのデータベース」を利用するモデル…
実際のとこ、かなり泥臭いやり方なので全然冴えてはいないところですが……。あるマスタのテーブルドには、番号体系の正規表現を保存した列がある。 ユーザは、入力したコードを番号体系の正規表現でパターンマッチングして、マスタから特定のレコードを検索す…
業務系のバックエンドをWebアプリケーションと連携するときなど、複合主キーで CakePHP が上手く操作できなくて、効率良く操作できないものかと悩んだ際のメモです。こんなやり方がいいのかは微妙ですが、復号主キーのテーブルを一つのモデルとして利用した…
テストもしてないどころか動かしてもいないけど、勢いで殴りがいてみた。 /** * 誕生日から年齢を算出 * * @param string $birthdayDay 誕生日(UNIX タイムスタンプに変換する日付の書式) * @param string $today 今日(UNIX タイムスタンプに変換する日付…
知的財産権(Intellectual Property Right)のこと? いや、話しの趣旨とかからしてそうなんだろうけど……。 誰に質問していいのやら、素朴な疑問。
不安定なWebサーバを再起動でしのごうとしたら、問題なく終了したサービスが起動してこない……。 あせってネットワークを再起動したり迷走したけど、よく確認したら終了しないで生き残ったプロセスがいるから、80番ポートが解放されていないのが原因でした。 …
(UTF-8)でデータベースクラスタを初期化したPostgreSQLで、EUC-JPのデータベースを作成する。 $ createdb -U postgres -h localhost --encoding EUC_JP --locale=ja_JP.EUC_JP --template=template0 {dbname} 特権なしのユーザを作成 $ createuser -U post…
プログラムの検証で、何千パターンかの引数をリストアップしたファイルをもとに、プログラムを逐次実行して検証していたら、バックスラッシュを含むパターンだけ失敗していた。イメージ $ cat pattern.txt | while read TEST; do ~/test_method "${TEST}"; d…
毎回、忘れて調べなおしている気がする……メモ「$(seq 1 100)」 $ for i in $(seq 1 100); do USER=`printf User%04d $i`;sh hoge.sh $USER >> ~/users.txt; done; とか
新しいサーバで shared_memory_size.pl を実行しようとするたびに、Linux::Smaps モジュールがなくてつまづくのでメモ ついでに、自分のユーザで一回やってから、rootユーザじゃなきゃ権限ないじゃん……、てのも何度も繰り返した。cpanm をインストールする前…
デフォルトゲートウェイが別々の(パブリックな)ネットワークでサブネットを越せないネットワークで、デフォルトゲートウェイを追加して(?)やってルーティングを通す。 # route add -net 192.168.0.0 gw 192.168.42.1 metric 1 netmask 255.255.0.0 eth0
↑で作成したバックアップのスクリプトを、無理やりPostgreSQL版にも移植してみた。 PostgreSQLサーバの接続可能なデータベース一覧からバックアップ対象のリストを取得する処理など、かなり強引で無理やりな感じになっちゃいました。 #!/bin/sh set -e set -…
汎用的なMySQLサーバのデータベースをバックアップスクリプトです。システムの仕様でバックアップはNASに保管するので、バックアップデータをマウントしたNFSに保存しています。 ついでにバックアップが必要になった時のケースや障害の内容などにあわせて、…
すごく単純に、PostgreSQLサーバの一部のデータベースを移行する必要があって、かなりの数だから pg_dumpall 使ったり、psql コマンドの -l オプションでリストアップしたり……とか一括で処理しようと思った。 でも、該当のサーバでは多数のデータベースが稼…
古いサーバで稼働していたシステムを、新たらしい仮想環境に移植したときの、大雑把なメモです。 データベース(PostgreSQL)の移行 デーベースサーバも新しい環境に移行したものの、サーバ間はVPNがあったのではまることなく楽でした。新しいサーバにユーザ…
NagiosパッケージもRPMforgeリポジトリをつかってyumで管理する。NagiosのパッケージもPHP5.1に依存しているので、依存関係を調整してインストールする。監視先のサーバにNRPEをインストールしておく。 #!/bin/sh set -e set -u LOCALHOST="127.0.0.1" NAGIO…
RPMforgeリポジトリをつかえばCactiのパッケージをyumから管理できるけど、NagiosのパッケージがPHP5.1依存していて、RPMforgeリポジトリからインストール済みのPHP5.3パッケージと干渉してしまう。 Cactiをインストールするときの依存関係チェック以外では…
[CentOS][Cacti] NRPEでモニタリングするときのテンプレートって?? どうするのがモダンなのかが分からなかった……、いろいろ悩んだけど公式サイトにあるオフィシャルのSNMPのテンプレートをベースに用意してみた。なんだか手探りだけど方向性を間違っている…
家のMacと会社のMacと持ち運ぶAirと、それぞれの環境をいいかげんに管理しているので、たまにちょっとした設定の違いでイライラすることがある。 設定ファイルはなるべくネットワーク上で共有しているし、その設定を個別に流用とかしていたので、環境ごとの…
複数台のCentOSを準備するために、同じパッケージのインストール作業を自動化するためのシェルスクリプトを用意しました。 自動化という意味ではもっと素敵な方法あると思いますが、マニュアルライクな対応ができてステキ……というか、手抜きな対応なのです (…