サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
ichikaway.hatenadiary.org
例えば30分以上経っても処理が終わらないhttpdプロセスをkillする方法。親プロセスはroot権限でしょうから、grep -v rootで除外しておきます。このシェルスクリプトをrootで定期実行すればok for i in `ps aux | grep httpd | grep -v root | gawk '{print $2 "_" $10}' | sed 's/://'` do PROCCESSNUM=`echo $i | cut -f1 -d'_'`; TIMENUM=`echo $i | cut -f2 -d'_'`; if [ $TIMENUM -gt 30 ]; then kill $PROCCESSNUM; echo "kill $PROCCESSNUM at "`date`; fi done最初のfor文で 12345_023のようにプロセス番号_処理時間という文字
Ubuntuデビューしました。いろいろとカスタマイズしてこんな画面構成にしました。ネットブックだと縦の画面サイズが小さいので、ツールバーを横にもってきた。 インストールは下記を参考に簡単にできました。 http://eeepc.cocolog-nifty.com/blog/2009/04/netbook-remix-9.html WindowsのXamppを使った開発はお手軽でいいんですが、そこで開発したコードをLinuxサーバに持っていくとたまに動かないことがあったりしたので、この際、開発は全てLinuxベースにしようと決意。Desktop開発機にはVmwareでCentOS入れて、そこで開発。ノートはUbuntu入れてそこで開発という構成にしました。 最初はSDHCカードにUbuntuを入れたのですが、プチフリーズがそれなりにあって、ブラウジングが不快だったので結局SSDの中に入れまし
MySQLのスレーブ側で、show slave status \G とやって、下記の箇所がYesであればスレーブのレプリケーションが正常に行われているか確認できます。 Slave_IO_Running: Yes Slave_SQL_Running: Yes 下記のような、コマンドラインから実行してYes以外であるか確認するシェルスクリプトをcronでまわせば、問題なければcronメールが飛んでこなくて、問題があれば出力された情報がcronメールで飛んできます。(例えばSlave_IO_Running: Noとか) パスワードと書いてあるところは、mysqlのrootパスワードを記入する必要があります。 #!/bin/sh /usr/local/mysql/bin/mysql -u root -pパスワード -e "show slave status \G" | grep Running |
タブで補完して候補が多くあった場合とか、普通のシェルではビープ音が鳴るだけの場合に、 Wuff Wuff とうざいぐらいに言葉が出力されてしまう これをOFFにする方法は、homeディレクトリに.screenrcを作って下記を記載すればOK。 ついでに、現在開いている端末番号とかも表示しちゃって、時刻まで表示しちゃう設定もいれてます。 これでかなり快適になった!! hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%< %100=%-8=%c:%s" vbell offvbell offがwuff wuffを消す設定 さらに.screenrcに下記も追記 # on にすると、ハングアップしたときにscreenは自動的にデタッチされます。 # off の場合は、ハングアップすると実行中の全プロセスは強制終了されます。 auto
linuxでCPU温度を計測する際には、lm_sensorsというソフトを入れればいいんですが、yum install lm_sensorsとしてインストールしたけど、エラーでうまく動きませんでした。 というわけで最新版を下記からダウンロードしてコンパイルしてインストール(lm-sensors 3.0.3) http://www.lm-sensors.org/ configureファイルがないので、いきなりmakeします make make installこれで/usr/local/bin, /usr/local/sbin以下にlm_sensorsがインストールされます。 まずは/usr/local/sbin/sensors-detectを実行して、自分のハードウェア環境をスキャンして定義ファイルを作ります。 ほとんどリターンでOK sensors-detectの完了画面で、下記のようにフ
linuxサーバ省電力、温度、カーネル再構築などなど、今日のブログは4本立て! linuxにはcpuspeedというものがあり、centosには標準で入っているので、chkconfigでonにしてあげれば動きます(/sbin/chkconfig cpuspeed on) これは、CPU負荷が低い時には、CPUスピード(クロック数 Hz)を低くして、アイドル状態の消費電力を低くしてくれます。 またCPU負荷が高くなったときでも、3GHzのCPUで、2GHzまでしか使わないように抑制して負荷が高いときの電力消費も抑えることができます。 この設定ファイルはcentosの場合下記の場所にあります。 /etc/sysconfig/cpuspeed このファイルの中のMAX_SPEEDやMIN_SPEEDに値を入れれば、その値のクロック数で動くようになります。 ただし、CPUに合った値を指定しないとう
データバックアップ(テーブル単位) mysqldump -u ユーザ名 DB名 -p --default-character-set=binary --tables テーブル名 > 20080722_HOGE.sql データのリストア(テーブル単位) mysql -u ユーザ名 DB名 -p --default-character-set=binary < 20080722_HOGE.sql
下記URLのように、svnでコミットする際に、コメントにrefs #1みたいにして、tracのチケット履歴にコミットしたコメントとソースコードへのリンクを自動で入れる連携を行うまでのメモ http://www.thinkit.co.jp/cert/article/0712/4/4/3.htm 結構はまったのでメモしときます。サポートツール系ではまると萎えるなぁ。 httpdインストール yum -y install httpd yum -y install mod_dav_svn svnインストールなど yum install subversion リポジトリ作成 mkdir /home/hoge/svn/ cd /home/hoge/svn/ svnadmin create --fs-type fsfs repo1 svnクライアントからは、下記のようにアクセス svn+ssh://ho
ブラウザからSSLでアクセスした際に、信頼されてない証書というエラーダイアログが出ても良いので、下記のことを実現したいんですが、可能なのでしょうか?誰か知ってる人がいたら教えて下さい。 WEBサーバはApache 2.2.11です。 やりたいことは、下記のようなssl設定ファイルで、httpsでアクセスするURLによってドキュメントルートを変えたいということです。どちらのURLも同じ証書を使うのでも問題なく、ブラウザに信頼されてない証書というエラーダイアログが出ても問題ないです。 このブログを参考に、 http://d.hatena.ne.jp/simpraight/20070502/1178154663 下記の設定ファイルを使ってみましたが、どちらのURLでアクセスしても同じドキュメントルートのコンテンツが表示されてしまいます。 NameVirtualHost *:443 # <Virt
linuxにはcpuspeedというものがあり、centosには標準で入っているので、chkconfigでonにしてあげれば動きます(/sbin/chkconfig cpuspeed on) これは、CPU負荷が低い時には、CPUスピード(クロック数 Hz)を低くして、アイドル状態の消費電力を低くしてくれます。 またCPU負荷が高くなったときでも、3GHzのCPUで、2GHzまでしか使わないように抑制して負荷が高いときの電力消費も抑えることができます。 この設定ファイルはcentosの場合下記の場所にあります。 /etc/sysconfig/cpuspeed このファイルの中のMAX_SPEEDやMIN_SPEEDに値を入れれば、その値のクロック数で動くようになります。 ただし、CPUに合った値を指定しないとうまく動かないので、 cat //sys/devices/system/cpu/c
UTF-8 Tera Term ProをWindowsで使っています。 http://www.vector.co.jp/soft/win95/net/se320973.html 今回の内容はTTSSHを含めたTera Termが対象ですのでUTF8版でなくても問題ありません。 WindowsからはTera Termでサーバにログインして作業をしているんですが、証書認証のサーバが多いので、ログイン時にいちいち証書ファイルの指定とかやってて面倒だったので、起動オプションをつけてショートカットを作成し、一発ログインできるようにしました。 まずは、Tera Termのショートカットを作成し、ショートカットを右クリックしてプロパティを選択します。リンク先という箇所に下記のような記載があると思うので "C:\Program Files\teraterm\ttermpro.exe"この箇所を下記のように
うちのサーバはPostgresとmysqlが動いていて、それぞれ夜間に定期的にフルバックアップを取ってリモートサーバに転送していて、いざという時はリモートサーバにあるダンプファイルを使ってリストア一発で元に戻せるようにしてます。 今回はPostgresとmysqlのフルバックアップを行い、ダンプしたファイルをzip圧縮するスクリプトの紹介です。古いファイルがあれば、ローテーション日時でリネームして、アーカイブしていきます。30日以上の古いファイルは削除されていきます。 PostgreSQL編 バックアップファイルを保管するディレクトリは/root/pgdumpallとしてます。 #!/bin/sh DUMP_PATH="/root/pgdumpall" if [ ! -e $DUMP_PATH ] ; then exit fi DUMP_NAME="pg_dumpall.sql" DUMP
cakePHP1.2rc2の環境です。cakePHP1.1の場合は下記の.ctpを.thtmlにすれば動くと思います。 cakePHPは、存在しないURLのリクエストがくると、404エラー画面を出しますが、この画面の内容を変更する場合は、 app/views/error/error404.ctp というファイルを置けばその内容が表示されます。 ただ、このerror404.ctpの表示の際のレイアウトファイル(ヘッダ、フッタなどを定義している)は、app/views/laytou/default.ctpが利用されてしまいます。 これを変更するためには、 app/error.phpをつくり、下記の内容を記載します <?php class AppError extends ErrorHandler { function error404($params) { $this->controller-
別にECcubeに限らないけど、自動であるサイトを構築する際のシェルのTIPs 全体の流れは下記のようになります。OSはLinuxです。ECcube2.1.2を用いて、PostgreSQLをDBにしています。 今回は細切れに説明していきますが、実際は1つのシェルスクリプトで全自動で実行してます。 引数チェック(エラーチェック) ユーザの追加 Apacheバーチャルホストファイルの作成 PostgresにDB作成とユーザ追加 ECcubeデータコピー(デプロイ) ECcube DBデータ登録 ECcube DBデータの個別箇所を変更 data/install.phpの変更 おまけ(htaccess, htpasswdファイルの生成) 1. 引数チェック 引数チェックは、引数の数だけ見ます。 下記の例では、引数の数が6個でなければエラー処理を行います。 エラー処理は、mailコマンドを呼び出し
サーバ運用していて、たまにMRTGの結果からCPU負荷が高くなる時間や日があったりします。 最近では、SSHの総当たり辞書攻撃を中国などから受けてて高くなってました。/var/log/secureファイルのサイズが大きくなってて、中を見たらsshの認証が失敗しているログが大量にたまってた。うちのSSHサーバは証書認証なので別に問題ないけど、負荷が上がって嫌な感じだったので、firewallでフィルタしました。 今回のようにログファイルなどで、負荷が高くなっている原因が分かればいいのですが、分からない場合は負荷が高いプロセスを記録しておいて、後からそれが分かるようにしておきたいと思い、簡単なスクリプトを書きました。linux CentOS4.4で動かしてます。いくつかのコマンドを利用しているのでlinuxしか動かない可能性が高いです。 今回は、SNMPとか入ってない環境でも動くように、負荷が
以前の記事(MySQLで全文検索できるって!?)で、id:tomyheroさんからMySQLの日本語全文検索は無理だからSennaで出来るよと教えてもらったので、やってみた。 基本的に構築系の作業は、自分の作業ログをメモ帳に記入しているんだけど、まとめるのが面倒でブログにそれを投稿してこなかったけど、これからは少しずつ溜まっているメモ書きをブログにアップしよう。 Sennaは日本語の字句解析のmecabを使って単語に分けて登録し、それを元に全文検索を行う。MySQLにsennaを組み込み、MySQLの関数をラッピングするのにtritonというものを使う。これはMySQLにパッチを当てたものです。 今回は、自分のホームディレクトリにsenna、mecab、mecab辞書、tritonをインストールしてみました。MySQLは元々動いているものがあったので、別ポートで動くようにインストールしてま
ESXiとVMwareServerのゲストOSでどれほどのネットワーク性能の差があるか計測してみた。どちらもメモリ700M割り当て、CPUは2コア割り当てていて、ゲストOSは1つのみ起動している状態。 SC440のNICを2枚にして、ひとつは管理端末がアクセスする用、もう一つはサーバ同士をクロスケーブルで直結してネットワーク負荷をかけるという構成にした。 NIC2枚の設定方法は、 VMwareServerの場合は、vmware-config.plでvmnet2に計測用NICを割り当てるだけ。 ESXiの方はConfigurationタブのNetworking→Propertiesから、addでVirtualMachineを選択してVirtualMachineNetworkを新たに作成。その後、そのVirtualMachineNetworkを選択してEditボタンから、NIC Teaming
例えば選択されたラジオボタンによって必須項目が変わるような、あるモデルのファイル内で、複数パターンのバリデーションチェックをしたいと思い、昨日、新幹線の中で悶々としてました。 とりあえず下記のように対応してみた。 cakePHPのバージョンは、1.2RC1です。 モデルファイル <?php class Order extends AppModel { var $name = 'Order'; var $validate = array( 'username' => array( "rule1" => array('rule' => VALID_NOT_EMPTY, 'required' => true, 'message' => 'ユーザ名を入力してください' ), ), ); var $validate2 = array( 'companyname' => array( "rule1"
昨日の記事で、 http://d.hatena.ne.jp/ichikaway/20080723/1216806584 ベンチマークしてると書いてたので、その結果を載せます。 テスト環境 サーバ2台をクロスケーブルで直結(Gigabitイーサネット) iScsiサーバ Pentium Dual E2180 2.00GHz 1G Memory SATA 160G HDD(SATA1) 7200rpm NIC(Broadcom) CentOS5.1 linux iScsiサーバプログラム iScsi Enterprise Target http://sourceforge.net/project/showfiles.php?group_id=108475 iScsiクライアント Pentium Dual E2180 2.00GHz 1G Memory SATA 320G HDD(SATA2)
PDFをperlから動的に作成するPDFJというフリーのソフトウェアを触ってみた。 http://hp1.jonex.ne.jp/~nakajima.yasushi/ UTF8にも対応しているということで、今回はUTF8で作成。もちろんPerlのソースはUTF8で保存してます。 PDFJの良いところは、動的に枠線付きのボックスの高さを変えたり、改ページできたりするところ。 まずは、ソースをダウンロードして、依存するTeX::Hyphenモジュールを入れた後に、インストール perl -MCPAN -e shell install TeX::Hyphen PDFJのZIPを展開したディレクトリに移動後、下記を実行 perl Makefile.pl make make install まずは、スタンドアローンで動くプログラムを作る。実行すると、hoge.pdfが同一ディレクトリに出来るというプ
CentOS4.4は、perl5.8.5がインストールされるので、perl5.8.8にしたい場合は、下記の操作が必要。 vi /etc/yum.respos.d/CentOS-Base.repo enable=0をenable=1にするだけ。 [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo =centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 #enabled=0 enabled=1 gpgkey=http://mirror.centos.org/ce
Jcode.pmで、h2zというメソッドがあり、これを使うと、半角カナを全角カナにできるってことだったので、下記のように実装(ファイルはUTF8で保存) use Jcode; use utf8; my $str = 'アイウエオ'; my $obj = Jcode->new($str,'utf8'); #半角カナを全角カナに変換 $str = $obj->h2z->utf8; print $str;こうすると、半角カナは全角カナになったんだけど、いくつかの漢字が文字化け。 調べてみると、Jcodeは内部で一度eucにして変換かけてるらしいので、UTF8のみ対応する漢字が含まれていると文字化けする。 ここhttp://d.hatena.ne.jp/dayflower/20060530/1148951624を参考に、Unicode::Japanese使って対策。下記のように実装したら問題なし!
最近、JMeterというソフトウェアを使って負荷テストをしたのですが、機能の豊富さにびっくり。proxyを使ってブラウザでアクセスしたパターンを解析して、テストパターンを作ってくれます。その際に、裏で渡しているPOSTのデータとかも全部テストパターンの中に盛り込んでくれるので便利。 また、ログインが必要なWEBアプリなんかも、ログインのテストパターンを一度作って、パラメータが例えばuseridだとしたら、そのuseridに入れる値を動的に変えてテストできます(useridに入れる値のリストを作れば) そんな訳で、色々と性能テストでJMeterの使い方を学んだので、ここで書いていこうかと思うんだけど、とりあえず今日はそこまで気力がないので、明日以降で。 今日は、負荷テストの計画について。 前職でもテストフェーズで片手間に負荷テストしたりしてた経験と、最近のテストの経験を踏まえて、こんな感じで
下記URLにある勉強会に参加してきました。 http://open.gungi.jp/modules/eguide/event.php?eid=3 今回はTwitterクローンサービスをしている3社が集まってトーク。アツイ! ■感想 gungiやっぱ面白い。 どの会社もシンプルさと、各サービスが持つ独特の文化を大事にしていて、 ユーザの声に導かれながら進んで行ってるみたい。 今回は懇親会出たんだけど、濃い話が聞けてよかった。OpenOfficeをサーバにしてとか、Firefoxをサーバにしてとか、イロイロ。そして始めてiPhone見ました。薄くてカッコイイ。 以下、今回の内容メモです。 ■なぜクローンを作った? 2時間ぐらい集中してやってみたら面白くなって、日本でもウケルかと思って 期首に何かを作りたいときに、実装が簡単そうなものを作った。 アメリカで普通に使われてるのを見て。 twitt
HPのサーバにCentOS4.4をインストールし、インストール時にソフトウェアRAIDの設定を行った。 無事RAID1になっているか確認するために、まずはSATA2のディスクのケーブルを抜いて起動。 無事、OSが立ち上がる。 cat /proc/mdstat で、RAIDの状態を確認。 Personalities : [raid1] md1 : active raid1 sda3[1] 239585280 blocks [2/1] [U_] sdb3のパーティションがあるHDDのケーブルを抜いたため、sda3のみが見えていて、sdb3のパーティションは見えていない。 そして、正常な状態であれば、 [UU]と表示されるところも、 [U_]となっており、HDDに異常があったことが分かる。 この状態を復旧させるため、電源を落とし、ケーブルをつないでブートさせ、 mdadm /dev/md1 -a
Flash Media Server(FMS)に相当するオープンソースのRed5ですが、とりあえずLinuxにインストールしてみました。 以下手順。 必要なツール Apache-Ant jdk1.5 ←最新のJDK1.6だとコンパイルエラーが出るので注意 red5 まず、apache-antを下記からダウンロード。 http://ant.apache.org/bindownload.cgi 最新版のapache-ant1.7をインストール。 インストール方法は、ダウンロードしたtarファイルを展開し、出来たディレクトリを、/usr/local/antにコピーするだけ。 tar -zxf apache-ant-1.7.0-bin.tar.gz mv apache-ant-1.7.0 /usr/local/ant そして、.bashrcにantのパスを設定 vi ~/.bashrc expor
このページを最初にブックマークしてみませんか?
『サラリーマンから起業するリアル』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く