config.phpで地デジのチャンネルを設定した際に
全角スペースがいつの間にか入っていたため、エラーになっていた。
/var/log/apache2/error.logを見てようやくわかった。
Apache2のエラーログの場所
T_CONSTANT_ENCAPSED_STRINGのエラー
2013年1月6日日曜日
2012年5月13日日曜日
foltiaがしょぼいカレンダーからデータを取得しない
foltiaをUbuntu12.04にインストールしようとやったのだが、
しょぼいカレンダーからデータを取って来てくれなかった。
どうもgetxml2db.plが正常に動いていないようだったので、
デバッグしてみると、以下の重複起動をチェックしていると思われるところで
なぜか1つしか起動していないのに重複起動していると判定して終了していた。
すんなり、しょぼいカレンダーからデータを取得できた。
原因を探すために
32行目のfoltialib.plから呼び出す”processfind”という関数の中を見てみる。
"getxml2db.pl"を検索するgrepコマンドのプロセスの
2つをカウントして2を返していたよう。
このため、重複起動チェックでいつも終了して動いてなかった。
なので、とりあえずの対処法としてはgetxml2db.plの上であげた32行目から40行目をコメントアウトすればいい(と思う)。
ただし、重複起動チェックを切ることになるので他の部分で不具合が起きるかもしれない。
しょぼいカレンダーからデータを取って来てくれなかった。
どうもgetxml2db.plが正常に動いていないようだったので、
デバッグしてみると、以下の重複起動をチェックしていると思われるところで
なぜか1つしか起動していないのに重複起動していると判定して終了していた。
32 $processes = &processfind("getxml2db.pl"); 33 if ($processes > 1 ){ 34 #print "process found:$processes\n"; 35 &writelog("getxml2db processes exist. exit:"); 36 exit; 37 }else{ 38 #print "process NOT found:$processes\n"; 39 &writelog("getxml2db Normal launch."); 40 }そこで、この重複起動チェックの部分をコメントアウトすると
すんなり、しょぼいカレンダーからデータを取得できた。
原因を探すために
32行目のfoltialib.plから呼び出す”processfind”という関数の中を見てみる。
210 sub processfind{ 211 my $findprocess = $_[0]; 212 213 my @processes ; 214 @processes = `ps ax | grep -i $findprocess `; 215 my $chkflag = 0; 216 217 foreach (@processes ){ 218 if (/$findprocess/i){ 219 unless (/grep/){ 220 #print "process found:$_\n"; 221 $chkflag++ ; 222 }else{ 223 #print "process NOT found:$_\n"; 224 } 225 } 226 227 } 228 return ($chkflag); 229 }#endsubこの関数を呼び出したgetxml2db.pl自身のプロセスと
"getxml2db.pl"を検索するgrepコマンドのプロセスの
2つをカウントして2を返していたよう。
このため、重複起動チェックでいつも終了して動いてなかった。
なので、とりあえずの対処法としてはgetxml2db.plの上であげた32行目から40行目をコメントアウトすればいい(と思う)。
ただし、重複起動チェックを切ることになるので他の部分で不具合が起きるかもしれない。
2012年4月8日日曜日
NFSの設定
Ubuntu11.10でNFSの設定をした時のメモ
音楽のフォルダを共有したかったので、まずはホームフォルダを英語化する。
今まではネットに転がってるコマンドでいけたが、今回はなぜかできなかった。
Ubuntu 11.10ではコマンドが変わってるらしく、以下のコマンドで設定ができた。
音楽のフォルダを共有したかったので、まずはホームフォルダを英語化する。
今まではネットに転がってるコマンドでいけたが、今回はなぜかできなかった。
Ubuntu 11.10ではコマンドが変わってるらしく、以下のコマンドで設定ができた。
#ホームフォルダ英語化 LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-updateあとはネットを見つつNFSを設定
#NFS設定 #--サーバ側--- sudo apt-get install -y nfs-kernel-server portmap # 設定追記 sudo sh -c "echo '/home 192.168.1.0/24(rw,fsid=0,sync,all_squash,no_subtree_check)' >> /etc/exports" # 設定反映 sudo exportfs -ra #--クライアント側--- sudo apt-get install -y nfs-common portmap #以下のコマンドで[username]は適時変更する # fstab設定追記 sudo sh -c "echo '#NFS\n''192.168.11.254:/[username]/Music /home/[username]/Music nfs rw,nosuid,_netdev,hard,intr 0' >> /etc/fstab"これで起動時から自動でマウントされるが、マウントされるまでしばらく時間がかかった。
2011年6月25日土曜日
テキストファイルから指定した行範囲を抜き出すコマンド
テキストファイルである行からある行までを抜きだしたかった。
さらに、毎回コマンド打つのも面倒なので、ついでにシェルスクリプトを書くと便利。
やりたいことは、
以下がそのコマンドになる。
input.dat から output.dat に #begin から #end までをコピーするコマンド
さらに、毎回コマンド打つのも面倒なので、ついでにシェルスクリプトを書くと便利。
やりたいことは、
- #begin を含む行から #endを含む行までを抜き出したい
以下がそのコマンドになる。
input.dat から output.dat に #begin から #end までをコピーするコマンド
sed -n "/#begin/,/#end/p" input.dat output.datまた、#begin を含む行から #N 行抜き出すと分かってるなら
grep -A#N '#begin' input.dat > output.datで抜き出せるはず。
2011年5月11日水曜日
共有フォルダ(samba)から移行アシスタンスでMacを復元
昨日、再起動かけたらMacのOSが起動しなくなりました。
(電源は入るがクルクルがずっと回っててそのうち電源が落ちる。)
ホントにTimeMachineで毎日バックアップとってて助かった。
と、思って
- インストールディスクでOS再インストール
- バックアップファイルを保存したフォルダをsambaで共有
- ターミナルでdefaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1 を入力して実行
- 移行アシスタンス起動
したんですが、移行アシスタンスでTimeMachineのデータが見えない。
これはきっと
Apple様にお布施をケチってTimeMachineで共有フォルダを使ったからに違いない。
案の定、TimeMachineが共有フォルダのバックアップデータをマウントできてない。
なぜマウントできてないか冷静になって考えてみると
- hostnameがバックアップデータを作ったときと全然ちがう。
なので、
- システム環境設定から共有を選択
- コンピュータ名をバックアップデータを作ったときのhostname
(バックアップファイル名の一部になってる)に変更
これで、TimeMachineが共有フォルダのバックアップデータをマウントできるようになる。
あとは、再チャレンジ
- 移行アシスタンス起動
- しばらく待つ!
- 共有フォルダ表示される!!
- 適当に選択していく。
- 転送を待つ。
(私は無線しか使えないので表示では十数時間かかるらしい!)
で、復元完了。
バックアップってホント大事ですね。
そしてApple様にはちゃんとお布施をしましょう。
参考サイト:
ラベル:
Mac,
NAS,
samba,
TimeCapsule,
TimeMachine
2011年3月17日木曜日
MacのTimeMachineで共有フォルダ(samba)を使う
お金がなくてTimeCapsule買えないけど、USBでHDD接続するのはMacとして美しくない。
そこで、お金を書けずにバックアップは無線でスマートにしたいのでNASとかの共有フォルダを利用する方法を調べて試したので手順を書きます。ちなみに太字になってるのは自分がつまった所です。
追記(2011-07-18):手順を簡素化しました。
そこで、お金を書けずにバックアップは無線でスマートにしたいのでNASとかの共有フォルダを利用する方法を調べて試したので手順を書きます。ちなみに太字になってるのは自分がつまった所です。
追記(2011-07-18):手順を簡素化しました。
参考サイト:
- バックアップファイルを保存したいフォルダをsambaで共有しておく
- ターミナルで
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
を入力して実行
- Macのコンピュータ名をメモ
(林檎マークにある「このMacについて」から詳細情報を選択してソフトウェアの項目にある)
(日本語で名前が付いてるなら日本語のままで。
コマンド hostname するとローマ字で表示されるが、これだとうまくいかないかもしれない)
- ネットワークに接続しているインターフェイスのMACアドレスをメモ
(林檎マークにある「このMacについて」から詳細情報を選択してネットワークの項目にある)
(コマンド ifconfig で調べてもいいが分かりにくいので)
- ディスクユーティリティからファイル→新規→空のディスクイメージを選択
- 名前の欄に Macのコンピュータ名_MACアドレス を入力
(この規則通りでないとTimeMachineで認識されないので注意)
(Macアドレスは - 抜きで入力する) ボリュームサイズは後で変更するのでそのまま
追記(2011-07-18):ここでサイズ指定すれば楽だったので、使用するサイズを入力(64GBとか指定しても実際には数十MBくらいのファイルサイズになるので共有フォルダへの移動も心配ない)
(以前書いたサイズ変更の手順が飛ばせます。)
- パーティションの欄でハードディスクを選択
- イメージフォーマットの欄でスペースバンドルディスクイメージを選択し、作成ボタンをクリック
- 作成したイメージファイルをsambaの共有フォルダに移動
- イメージファイルをクリックしてマウントする
ディスクユーティリティからマウントしたイメージを選択して、上の方にある取り出すボタンをクリックイメージサイズを変更ボタンをクリックして、三角ボタンを押してパーティションとイメージのサイズを変更を選択適当なサイズに変更して、サイズ変更ボタンをクリック
ディスクユーティリティでイメージファイルのファイル名をクリックして、パーティションのタブをクリックサイズに適当に大きな値を入力した後、左側にある奴を最大サイズまで拡大して適用をクリック
- TimeMachineのディスクの選択でsambaで共有した奴を選択すればいい
Macにログインした時に共有フォルダをマウントするには、システム環境設定→アカウントでログイン項目のタブから+ボタンで共有フォルダを追加しておけばいい
(これをしておけばいちいちマウントしなくていいので便利)
追記(2011-07-18):TimeMachineで一度設定すれば、以降はバックアップ時に自動でマウントされるようなのでこの手順は不要。
2,3日使ってみた感想としては、非常にスマートで便利になりました。USBのケーブルささなくていいので実に美しく使えてます。特にMacBookAirはUSB端子貴重なのでおすすめです。
ラベル:
Mac,
NAS,
samba,
TimeCapsule,
TimeMachine
登録:
投稿 (Atom)