Skip to main content.
Linux上でのファイル内の文字列検索と、ファイル内文字列の一括置換をググってたら下記のURLがすごく参考になったのでメモメモ。

Linux上で複数ファイルから文字列を一括検索/置換するコマンド - スーパーソフトウエア 世界最強のホットテクノロジー - アプリ開発
http://tokyo.supersoftware.co.jp/superlabs/2012/07/261755.html


以下、引用。

#複数ファイルから文字列を一括検索
find ./ -type f -print | xargs grep -l 'hoge'
'hoge'が含まれているファイルを検索

#複数ファイルから文字列を一括置換
find ./ -type f | xargs sed -i 's/hoge/hage/g'
ファイル内の'hoge'を'hage'に置換

んで、実際に置換しようとしたところ、ファイル内に「/(スラッシュ)」がいくつも存在していたために

「sへのオプションが未知です」

というエラー。

そこでさらにググると下記URLに解決方法が。

sed - Sed Wiki*
http://wikiwiki.jp/sed/?sed


別に区切り文字は「/」で無くてもいいみたい。
というわけで「%」を区切り文字にして一括置換すると無事解決。

複数ファイルから文字列を一括置換(区切り文字を'%'に変更)
find ./ -type f | xargs sed -i 's%hoge%hage%g'



いつもはその都度ググってたので、今後の参照用にブログにメモメモ。
昨日一日落ちっぱなしだった当サーバを直すついでにメモリを1Gから8Gに増やしました。
32bitCPUなのでkernelPAE入れました。


そんで改めて確認してみたら最大でメモリを3.8Gまで消費していることが判明。
そりゃスワップも食いつぶされてサーバ落ちます。

さすがに8G全部が消費されることは無いと思うのでしばらくは安泰ですかね。




               / ̄ ̄\
              /  !、_ 八\  1G → 8G に増設やでぇ!
             (●)(● ))⌒ |  見てみぃ!カッチコチやで!
             (__人__)     |  カッチコチやで!
.               (,`⌒ ´      |
              {         ト、_____
              {       ..:.::::::|ヽ、   ̄`ヽ、
              人     .:.:.:::::ノ:!::. :. . ..........:::=≧=‐- 、
             _/ .:ヽ :i::::::::/.: /:::':.. .:..,. ''. ::     . :.:.:`ヽ
      , --―'´;.:.、... .: .:i :i::/:  .:::..:,.‐''".    .      .:、  :.:::}
     /   . :.:.ノ:. ..\.ヽヽ:  , -‐''´ ..::: ..    :     .::l . :.:.::|
   /   . .:.:.:./:.     `ヽ、::/     .:::、:.. .. . :.  :.  .::i ...:.:∧
    |  . . .:.:.:;イ::      .:i::.       . .::`''‐-=、ヽ、.:.. . .:: .:ノ: :!
  /{::. : : .: '´.:.i::.       . :|:      . .:: :.::::::::::::/゙"ヽ、:..:.::´::..: :|
  ,' `: :...:.:.:.::.::;!::.. .    .:.:|:     . . . :: :.:.:::::::::{::. .::;'`:‐ .::.: ;!:|.
 {   :. `''''゙´|:::.:.:. : . . . .:::l::. . . . .. .. .:.::..:.:::::::::::|::. . ::i   ..:::iく ::|
  {:.:.. .:.. . .:.:::ト、:.:.. . .  . .:.:;!、::.. . . . ... .:.::..:::::::_;;.ゝ、..:|  ..:ノ :. ヾ.
 /`'''  、,,,___:ノ \::. :.....:.:ノ::..`'ー::.....;;;_;;:.-‐''....:...:::,>'=、  .::i :.::}
. {:.:. .   ___\   ` ‐-=、:::.:.. ..::r ー-=、.....:...::..::::/      . .:::! :; ::|
 !ー: . /:::___;>┐    \:.. :! ,.-―:‐、:: ,,.:‐''´    . . :__;ノ.イ.:.:|
 ';.:../:::::/´、   ̄)ヽ. _,r―‐亠- 、!::::::::::::::|「:     . . - '''´. : :丿.:/



※kernelPAE
32bitのCPUでも4G以上のメモリを認識できるようになるカーネル。
最大64Gくらいまで認識するらしいですが、あまり多く載せすぎるとCPUの負担にもなるそうです。
詳しくは下記参照。

物理アドレス拡張 - Wikipedia
http://ja.wikipedia.org/wiki/%E7%89%A9%...
うちのサーバのメモリ,800Mをフルに使ってて、スワップも1.4Gくらい食ってる状態がずっと続いているので、8GのメモリをAmazonで購入。

今週中に増設するお( ・`ω・´)
Linux上で

--------------------------------
(1)MySQLからデータ取得
(2)ファイル加工処理(数時間以上)
(3)MySQLにデータ格納
(4)1に戻る
--------------------------------

という処理を走らせていたら、たまに処理がストップしました。
エラーメッセージを見ると処理(2)と(3)の間で

mysql server has gone away

という文字が。
続きを読む
 
FFMPEGのサムネ切り出し問題解決!


タイトルにもある通り、ランダムにある動画からサムネを数枚自動で作成する処理を作ってる途中で一部のサムネイルが灰色の画像になってしまう現象が発生。
調べてみると、原因は動画内部のキーフレームの問題だそうですが、原因がわかっても解決法がググってもなかなか出てこない・・・。

と思い悩んでいたところ、どうもffmpegはオプションを記述した順番によって内部で行われる処理が変わるらしぃという記事を発見。

そんで、試しにオプションの順番を入れ替えてみました。

/usr/bin/ffmpeg -ss (秒数) -vframes (フレーム数) -i (元動画ファイル) -f image2 (作成サムネイルパス) から
/usr/bin/ffmpeg -i (元動画ファイル) -f image2 (作成サムネイルパス) -vframes (フレーム数) -ss (秒数)へ。

そんで試してみたところ無事に灰色のサムネイルを吐き出さなくなりました。
代わりに若干処理速度が下がったような気がしますが・・・・・そこは!

気にしたら!

負け!

だと!

思う!


こういうことを気にする人はアナルにカラシが入ってしまえばいい、
私はそう思う
たま〜に使うのでメモ。
# 海外のIPを除外
order allow,deny
allow from all
allow from .jp
# 上から順に,中国,韓国,オーストラリア,アメリカ
deny from .cn
deny from .kr
deny from .au
deny from .us
扱ってるサーバで、スパムメールの踏み台として300件くらい外国にメールを送ってしまっているのがあって、SMTP-AUTHも起動しているのにどうしたもんかなぁと思っていたものの、下記のページを見つけてその通りにしたら収まったのでURLをメモメモ。

メールサーバ( Postfix ) - Linux で自宅サーバ [ Home Server Technical. ]
http://www.miloweb.net/mail.html


この系のトラブルってだいたい「SMTPを設定すればよし!」の一言で終わってしまう解説ページが多かったのでこういうのは非常に助かります。

めも

 
10/23
(火)
回線工事
朝6:00〜9:00の間の30分程不通
そのあいだこのサーバもダウン
OAuth認証
EvernoteAPIのOAuth認証処理を動かそうとしたところ、

The PHP OAuth Extension is not installed

という表示が。
なので取り急ぎoauthをサーバに入れようとしたところ、

[oauth.lo] エラー 1
というエラーが続けざまに発生。


続きを読む
 
1,2年前から「これで勝つる」とネットでちょこちょこ言われている「node.js」をインストールしてみた。

Installing Node.js via package manager
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager


インストールはCentOSなら上記URLを参考に簡単にインストールできまする。
wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm
rm nodejs-stable-release.noarch.rpm


で、ついでにnode.jsでのメジャーなフレームワークの「express」もついでにインストール。
Express - node.js web application framework
http://expressjs.com/


とりあえずうちのサーバではこんな感じで動作してます。
と言ってもテキストを少し表示させてるだけですが。
node.rutti.net

node.jsはとりあえずポート8000でlistenさせておいて、Apacheでnode.rutti.netにアクセスが来たらポートを80から8000に書き換えるように処理してます。
expressのHTMLの記述が独特でデザインが面倒そうな印象あり。

で、試しにインストールしてみたもののnode.jsを使う必要性は今の自分には無いなぁと思ひまふ。

node.jsで動いてるメジャーなwebサービスと言えばピグライフになるんかな?
[大図解]ピグライフはこう動いている
http://www.slideshare.net/akuwano/ss-8876695


そもそも何故にnode.jsが頭角を現してきたか、という話になりますが
WEBサーバはハードウェアのスペックにかかわらず同時接続数が1万になるとアクセスをさばけなくなる「C10K問題」とかいうのがあるそうな。
node.jsならそうした問題も起こさずに大量のアクセスも捌けるとのこと。

うちのサーバはそんなにアクセス無いからそもそも関係無いんだよなぁ。。。


他にも、非同期だとかノンブロッキングだとかJavaScriptだからとかnode.jsの利点はいろいろあるようですが、
単純にC10K問題だけの理由ならnginx(エンジンエックス)でも良いような気もするんですがどうなんでしょ。
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»