2019年9月12日木曜日

NetCommons2のサーバー移転でリンク切れに嵌まる

知り合いからNetCommons2のサーバー移転の依頼され、その作業過程で難儀した部分の解決法を備忘として書き残しておく。

元サーバーの方は、機能としても担当者としてもコンソールのコマンドラインによるMySQLのdumpはできなかったため、phpMyadminにてダンプしてもらう。

あらかじめ移転元WebサーバーのNetCommons2のファイルを移転先にコピーし、ファイルのパーミッションも元通りに調整する。
こちらはコマンドラインでdumpしたsqlファイルを移転先MySQLサーバに突っ込む
mysql -h [mysql_host_name] -u [mysql_user] --default-character-set=binary -p [db_name] < mysql_dump.sql
おおよそ、復元はするのだが、どうしてもリンク切れするページが発生する。
URLの一部が日本語のページだったので、phpMyadminでdumpする際にエンコードがうまくいっていないのではないかと踏んでいたのだが、もっと簡単な原因だった。

NetCommons2の管理ページ → システム管理 → サーバー設定 → 固定リンクの設定
で、「固定リンクを使用する」が「はい」になっているとリンク切れが発生する。



一旦「いいえ」にして保存設定した上で再度「はい」に設定し直すとリンク切れは解消し、日本語URL部分も復元する。

有用な情報をWeb上に記録↓されていた方に感謝。
http://blog.livedoor.jp/nottoro/archives/51893252.html


移転したこのWebサイトをNetCommons3にアップグレードすることが次の課題。

2015年7月17日金曜日

Mysqlのリペア

仕事のWebサイトが、突如表示されなくなった。
どうやら、MySQLの接続障害のようだ。

調べていくと、MySQLのデータが格納されているLinuxサーバーの /var ディレクトリが
オーバーフローしたらしい。

MySQLのデータは消せない。
/var/apt/cache/archives にもたんまりキャッシュファイルが溜まっていたので、
# apt-get clean
で掃除。
これで /var に40%くらいの空きができた。

Webサイトが表示され、復活! と思いきやログインができない。
どうやら、オーバーフローの接続障害の際、MySQLのtableが損傷を受けたようだ。

mysql をリスタートさせると
 # ERROR 144 (HY000) at line 1: Table './database_name/***_session' is marked as crashed and last (automatic?) repair failed
なんてエラーを吐く。

調べるとtableをリペアする方法があるらしい。
http://blog.cloudpack.jp/2011/07/27/server-news-mysql-restoration/

# mysql -u root -p
mysql> repair table ***_session;

……… 1時間以上反応なし。killする。

困った、さらにググる。
myisamchk という修復コマンドがあるらしい。
http://www.bnote.net/mysql/19_myisamchk.shtml


まずは、apache2 と mysqlを停止
# invoke-rc.d apache2 stop
# invoke-rc.d mysql stop

修復コマンド
myisamchk -r /var/lib/mysql/database_name/***_session.MYI

あ、何か走った。

2015年5月2日土曜日

NetcommonsにFacebookのPage Plugin(Like Box)を埋め込むと不具合が生じる

Netcommonsで運営しているWebサイトに、FacebookのPage Plugin(Like Box)を埋め込むと、「日誌」「掲示板」「お知らせ」などのモジュールで画像やファイルのアップロードに不具合が生じたのでメモ。

具体的にはアイコンをクリックした際に表示されるはずのアップロード用のポップアップが表示されなくなります。もう少し厳密に表現すると、一瞬ポップアップが表示されて直ぐ消えてしまいます。当然、この状態ではWebからのアップロードはできません。

[website_dir]/webapp/template/main/header.html にこの要領で加筆をしたわけですが、どうも上記アップローダーのjavascriptととが干渉してしまうようです。

2015年2月18日水曜日

動画編集アプリで写真(静止画)を使う際の注意点

前回に引き続いて動画ネタになります。

Adobe Premiere Pro CC を使って動画映像の編集をしていたのですが、どうにも最後の動画ファイル書き出しにあたって不具合が生じていました。1年くらい唸っていたのですが、原因が特定されてきたので、書きとどめておきたいと思います。

今回制作した動画映像は、ビデオカメラで撮影したものを編集するのではなく、写真画像とテロップとナレーションで構成する作品でした。ボラギノール(痔薬)のテレビCMを思い浮かべてもらえばよいかと思います。

デジタルカメラで撮影された写真画像はJPEGというファイル形式で記録されることが一般的です。JPEGをはじめとするコンピューター上で取り扱う画像は、解像度を一定とした場合、
(1) 拡大表示をしていくと、ドットが目立ちなめらかな表示ではなくなる。
(2) 縮小表示をしていくと、モアレという干渉縞が生じる。
つまり、過度に表示を拡大・縮小すると表示に不具合が生じることがあるようです。

今回、生じていた問題は、高品質設定で動画ファイルを書き出すと、テロップがぼやけ、高品質設定をはずして書き出すと写真画像にギャザが出るということでした。

原因は、動画編集アプリの画角サイズが小さく、配置する写真画像の解像度が高すぎたということでした。編集アプリの画角は3:4で画素数は480×360に設定していました。一方、配置する写真画像は画角こそ3:4であるものの画素数は、4000超×3000超でした。

テロップの表示は編集アプリの画素サイズに最適化されていて、そこに極端に画素数の大きい写真画像が貼り付いている状態でした。
こうした状態で、画質優先で動画ファイルを書き出すと、写真画像のサイズに合わせてテロップが引き延ばされ、テロップが上記(1)による画質劣化が起こり、テロップを基準にすると写真画像が極端に縮小され(2)による画質劣化が生じるという具合です。

この不具合が起こりにくくするためには、動画編集アプリにおいては、画角設定で最終的に必要となる画素サイズにしておくこと。DVDに焼くなら、720×480(16:9)か640×480(4:3)、フルHDで映したいなら、1980×1080(16:9)という具合にです。

最近のデジタルカメラで撮影した写真画像は普通に1千万画素くらいあったりするので(フルHDが約200万画素)、配置する写真画像は予め、動画編集アプリで設定した画素サイズの2倍程度に調整しておくと良好な動画ファイル書き出しが得られると思います。

アプリの画素サイズと写真の画素サイズを同じにしておいてもいいのですが、編集上のエフェクトでズームを使うこともあろうことかと思います。そうした際の画質劣化を避けるため、やや大きめの写真画像を用意しておくこと無難だと思います。2分の1程度の縮小表示であれば、それほどひどい画質劣化は生じないと思われます

2015年2月17日火曜日

自主制作映像に洋楽BGMは使えない

仕事(非営利団体)で、興行や販売を目的としない非商用の制作映像のBGMの著作権申請にいま携わっている。

その映像作品のBGMには、邦楽、洋楽、クラシック、フリー楽曲が混在している。
フリー楽曲は読んで字のごとく著作権申請不要だが、創作者に敬意を払う意味で、エンドロールには出典元を示したいと思う。クラシック楽曲も基本的には著作権期限が切れているので、自前で演奏する限りにおいては著作権料は不要(CDなどの出版物の音源を用いる場合は、出版元や演奏者に著作隣接権があり、使用許諾が必要)なので、カミさんにピアノ演奏をしてもらったり、知り合いにMIDI譜から音源出力してもらい乗り切った。

邦楽と洋楽についても、著作隣接権に触れないようにピアノ演奏やMIDI出力で対応した。しかし、非商用であっても著作権使用料は免れないので、JASRACに申請する。

邦楽については、非営利団体が非営利に制作した映像作品(DVD)への邦楽曲の使用料は[3.5円×時間(分)×製品(DVD生産)数]となる。DVD発行数は多く見積もっても100枚程度で、使用した邦楽曲も6曲で、使用総時間もせいぜい5~6分なので、著作権使用料も数千円で足りる

 洋楽は、JASRACでは使用料納入の代行はするが、使用許諾や使用料決定まではできないので、その洋楽曲の管理会社に許諾を求めて使用料を確認するようにと案内された。JASRACに案内された楽曲管理会社に連絡したところ、提示された金額(s)は1曲あたりミニマムで10万円。どの楽曲も同様の金額で、用途も使用時間も商用・非商用も関係なく、とにかく1曲10万円から、それが相場なのだという。

 洋楽を4曲使用していたので使用料は40万円超。残念ながら、映像の総製作費を上回るような著作権料を小規模非営利団体や個人が負担しようもないので、邦楽やフリー楽曲に差し替えなければならない。誠に残念である。

 楽曲に限らず創作物を生み出すためには計り知れない創作者の苦悩があり、その創作者や創作物には敬意を払いたい。その創作物を使用する場合にも対価は支払わねばならないことにも同意する。著作人格権も大切にしなければならない。権利者が使用対価を10万円と言い、それが支払うことができないのであれば、その楽曲は使えない。契約は自由であり、合意に至らないのであれば致し方ない。

 本投稿タイトルは「自主制作映像に洋楽BGMは使えない」と、表現に語弊はあるが、個人や小規模非営利団体にとって現状は、容易に洋楽を使えないと言えるだろう。

 以下、私の愚痴である。

 かつて映像製作は巨額の資本を必要とし、個人や小規模な団体が容易に手を出せるものではなかった。しかし高機能なカメラや映像編集ソフトが比較的廉価で個人が手にすることができるようになり、YouTuberという言葉や存在も生まれ、かつてないほど映像クリエイターが活躍する時代となった。

 映像作品は映像だけで成り立つことは少ない。演技、音楽、テキストなどの複合したものが映像作品というものであろう。一方、いま注目を集めている動画投稿サイトにある映像作品の中で、適切に音楽著作権処理されたものが、どれほどあるのだろうか? 洋楽を使用した場合、ミニマムでも1曲10万円オーダーである。動画投稿している個人が都度支払っているとはとても思えない。

 著作権や法を踏みにじった作品が跋扈し、 著作権や法を守ろうと心がける者の参入が阻碍される結果になってはいないか? 著作権を無視した動画投稿が公然化し、著作人格はむしろ棄損されているのではないか。

 芸術にせよ、学術にせよ、スポーツにせよ、その山を高くしようとするならば、その裾野を広くするべきだ。学術の世界でも論文の盗用や剽窃はあってはならないが、学術の入口にやたらと高い参入障壁を設けるべきではない。経済力を問わず、能力あるものが学術の世界に参入できることが、結果として社会に大きな利益をもたらし、芸術においても同様であろうと私は信じる。

 やたらに高額に設定されている著作権使用料や大学の授業料などに接すると、気鬱な嘆息を禁じ得ない。

2015年1月21日水曜日

MacでPDFファイルを1枚に複数ページ印刷(N-upでPDF生成)する方法


仕事で時々こうした作業が必要となるのだけれど、そのときに方法を忘れていることが多いので、URLのメモ http://kikou9186.com/2014/07/01/pdfprinting/

プリント出力でなく、N-upで面付けされたPDF保存したいときは、プリントウインドウの左下の"PDF"のボタンで任意のディレクトリに保存。
一連の資料の一部分だけを二面付け体裁にしたい場合などに便利です。

2015年1月20日火曜日

Premiere Pro CC のボイスオーバー録音でハマった件

 昨年、仕事でPVを制作しました。事情により、登場人物の名前が変更になるなどしたので、部分的にナレーション修正を施しました。

 しかし、修正収録は、収録時期も、収録場所も、ナレーターのコンディションも当初の収録とは異なっていたため、仕上がりの継ぎ接ぎ感は否めず、ナレーションを丸ごと再収録することにしました。

 このPVは、Adobe Premiere Pro CC で編集しており、これまではボイスレコーダーに録音した音声ファイルをAdobe Premiere Pro CC に読み込んでナレーションのオーディオトラックに配置していました。今回の全ナレーションの再収録は、 Premiere Pro CCのオーディオトラックにダイレクトに音声収録する「ボイスオーバー」収録を試みることにしました。

 マイクは、ダイナミック・マイクよりコンデンサー・マイクの方が感度も音質もいいとのことなので、廉価ですがSONY エレクトレットコンデンサーマイクロホン ECM-PCV80Uを購入。

 コンデンサー・マイクは高感度が故、「ぱぴぷぺぽ」などの破裂音を発声する際にマイクに当たる息の音も拾うとのことで、ポップガード (ポップブロッカー)も用意することにしました。ポップガードは高価なアイテムではないものの、何でもかんでも買い揃えるのも勿体ないので、100円均のザルの網を外して、CDやDVDの袋の不織布を切り取ってザルの枠に貼り付けて自作。

 そうして、いざボイスオーバー収録の実験。しかし、収録開始ボタンがグレーアウトして押せない。思い当たる処々の設定を変更しても変わらず。

Adobe のサポートに連絡するも、「お使いのマイクでの収録成功事例の情報はありません」という、ツレない回答。

 困った、ムダな買い物をしてしまったか…。

 ウンウンと考え、試行錯誤しているうちにわかりました。
 購入したマイク ECM-PCV80Uはモノラルマイク。ボイスオーバー収録するオーディオトラックがステレオ設定だと受け付けない仕様でした。モノラルのオーディオトラックを追加したところ、問題なくボイスオーバー収録ができたのでした。

 Apple のビデオ編集ソフトのFinal Cut Pro X はそうしたことを気にせず収録できたりするのですが、Adobe は設定がシビアなようです。

2014年7月26日土曜日

自動車買換の検討…

自動車の買い換えを検討しています。
動機はガソリン価格の高騰。

我が家の家計では、ガソリン代の月額を固定しています。
つまり、ガソリン価格が高騰すると走行できる距離がどんどん減っていくわけです。
で、対策として「できるだけ車に乗らない」という努力をはじめます。
近頃カミさんは5キロ以上の道のりを自転車で仕事に通っています。少しスリムになったようです。

私も普段は電車通勤しているので、車に乗るのはオフの日だけ。
日常の買い物は、自転車や徒歩で行けるスーパーが数軒あります。
子ども達も随分大きくなって、何が何でも車で移動しなければならない用件が減ってきました。
おまけに息子は出不精で、たまに車ででかけると10分もたたないうちにブーブー言うてます。まぁ、電車でも言うんだけど。

このままガソリン価格が高騰し続けると、そのうち車に全く乗らなくなる日が訪れるのではないか、とすら思えるようになってきました。

そうなると、そもそも自動車を所有している意味があるのか? っていう疑問が頭をもたげてきます。

最近、近所の駐車場には、カーシェアリングの車が設置されるようになりました。「これでいけるんじゃないか?」という思いも頭を過ぎります。

とはいえ、機会は減っているものの車を必要とする用事はあるし、カーシェアリングの車も、必要なときに手配できるとは限らない。レンタカーショップは遠いし、高いし、手続き面倒。

なにより、今使っている車は、結構使い勝手がいいのだ。コンパクトだし、いざというとき7人まで乗れるし、3列目を跳ね上げたら夏の家族キャンプもかなりの荷物を積んで出かけられる。

しかし、燃料がどんどん高くなるのだ!
そうして、10月には車検代を払わねばならないのだ。

この車種のハイブリッドモデルもあることはあるのだが、買い換えるほどの有利な燃費性能ではない。より低燃費なモデルチェンジは2015年とも2016年とも言われている。

で、とりあえず、軽自動車とかハイブリッドとか電気自動車とか、対象を拡げて調べ、ディーラー参拝も敢行する。

軽自動車:
普段乗りだけなら軽で十分よね。燃費も良いし。でも何か安全性に不安。

ハイブリッド車:
今の自家用車の2倍の燃費性能の車種がたくさん。しかし、夏の家族キャンプの荷物を積めそうなモデルがない。積むことができる大型車は車庫寸法、予算、燃費で条件クリアせず却下。

電気自動車:
高ぇなぁ。でも、国の補助金で手の届く価格になってきている。系列のレンタカー代が半額以下になり、夏のキャンプはこれが利用できそうだ。しかし、航続距離が 短いという不安に加え家の近所に高速充電スタンドがない。充電インフラ整備も発展途上。ディーラーでの1500円くらいの充電月額固定プランも用意されて いるものの、巷の充電スタンド全てで有効なわけじゃない。設置社が異なれば別途に月額1000円程度の負担か、つどつど充電料金を支払わなくてはならな い。それでもエネルギーとしては高くはないが、そもそもガソリン代の月額固定している我が家で、どれ程の経済効果があるのか?

というわけで、いずれも決め手に欠く状態。
はぁ、もう考えるの面倒くさくなってきた

もしかすると、買い換えずに、機会が少ないながらも乗り続けるというのが一番安上がりなのかもしれん。

ディーラーの営業さんにとっては、はた迷惑な客だな、まったく。

2014年5月17日土曜日

Mac miniをFAXサーバーにする(メール添付送信通知機能有り)

最近、仕事で使っていたMacを更新してもらいました。
新機はMac Book Pro (2012)です。
純正のカスタマイズでスペックアッすると大変高いので、納品後すぐに開腹手術。メモリーは16GBに交換。最初に挿入されていたメモリは中古ショップに売却。HDDをSSDに換装、光学ドライブも取り外して、取り外したHDD を装着した上、SSDとHDDとでFusionドライブを構成。この作業はこのあたりを参照→ http://shoz718.exblog.jp/17257537

これまでは、Mac mini (2010) を使っていました。しかし、これ一台で日々の書類作成からメールの送受信、インターネットサーバー稼働に、IllustratorなどでのDTP作業、最近では動画編集などもするようになってきたので、CPUもメモリーもHDDも全然足りなくなって、不具合がが多くなり仕事に障るようになってきたためです。

とはいえ、故障しての買い換えではないので、FAXサーバーとして再活用すべく設定法法を探りました。

なお、Mac miniはOSX10.9  Marvercks です。

職場には去年、理想科学工業のORPHISという高速インクジェット複合機を導入していました。1枚当たりの印刷単価が安く、これまで使っていたカラーレーザー複合機(いわゆるコピー機)はすっかり使わなくなっていました。両機はプリント、スキャナなど、ほぼ同じ機能を有しています。しかし、前者は唯一、FAX送受機能だけがありませんでした。そのため後者はFAX受信(もはや、送信することはほとんどない)のためだけに会議室の端に鎮座している状態でした。

このFAX機能さえ代替できれば、似たようなOA機器を二台も設置する必要がなくなり、コピー代やリース代も節約できます。職場の空間も有効活用できます。

Apple純正のFAXモデムは随分前に廃盤になったそうで、中古で入手できたとしても、現在の64bit環境では動作しないそうです。現行のMacでも使えるFAXモデムがないかと探したたところ、やはりありました→ USRobotics USR5637 56K USB Faxmodem


2014年4月13日日曜日

Netcommons2のサーバー移転

自鯖(old_server)で運用していたNetCommonsをさくらインターネットVPS(new_server)に引っ越しさせる際の覚書。本投稿は、Debian Squeez@自鯖 -> Debian wheezy@さくらVPS の事例です。

1.new_serverにDebian7 amd64 をインストール。

  •  Web経由で VNCでコンソール画面を表示させてインストール作業を進めることになるが、手元OSのJAVAがJAVA7にアップデートされている場合、セキュリティ機能でVNCコンソールが表示されない。JAVA7のセキュリティレベルを下げると表示されるようになります。参照:http://blog.makotokw.com/2014/04/08ta/java7-vs-vnc/
  • new_serverのロケールがja_JP.UTF-8になっているか確認。
    •  ja_JP.UTF-8 # dpkg-reconfigure locales で設定。
    • テキストエディタやシェルの言語設定にも注意
       

2.new_serverにold_serverの環境をつくる

  • apache2-mpm-prefork,php5,mysql,などなど、 apache-mod-php5も忘れずに。
  • a2enmodコマンドでapache2のphp5, ssl, rewrightの各モジュールを有効にする
  • インストール直後は、ユーザーディレクトリでのPHPの実行ができないので解除
  • /etc/php5/apache2/php.ini を編集し default_charset = UTF-8 をコメントアウト
  • 2021年4月追記
    Netcommons2のDocument rootは、htdocs/ であるので、Apache2の当該ドメインのVirtual Domain のDocument root の設定もhtdocs/ までのPathを指定すること。また、SSL、非SSL双方とも同様に設定すること。

3.Mysqlデータの移行

  • old_server
    • mysqldump -u root -p  database_name --default-character-set=binary > backup.sql
  •  文字化け予防のためエクスポート、インポート時に --default-character-set=binary オプションを指定。
  •  転送 old_server %scp backup.sql new_serve:/home/user_name/
  • new_server
    • mysql -u root -p database_name --default-character-set=binary < backup.sql


4.Netcommonsインストールディレクトリの転送

Debian ではapache2 をwww-data というオーナーで管理する特徴があります。そのため、ユーザーディレクトリで運営しているWebサイトでも、所有者情報がwww-dataのファイルやディレクトリが生成されることがあります。
NetCommonsの場合、htdocs下"images","js","themes" の3つのディレクトリとその中に生成されたファイルおよび、webapp下のuploadsディレクトリ下の各モジュール用のアップロードファイル格納ディレクトリのオーナー情報がwww-data扱いになっています。
移転元サーバーからSCPで転送する際、移転先サーバでは上記のディレクトリとその下にあるファイルの所有者情報が、そのユーザーになってしまいます。SCPでファイルを移転した後に、#chown -R www-data.ww-data  にて、オーナー情報を書き換える必要があります。

 5.DNSの設定を新しいサーバーに向ける。

たぶん、これでつつがなく移転できるはず...
移転元でNetCommonsをSSLしていて、移転先でSSL環境が用意できていないと、移転先のNetCommonsでログインできなくなって往生した。とりあえずオレオレSSL証明書で対応。最近のブラウザはオレオレSSLサイトを容易に表示しなくなっているので、やりにくい...

SSL証明書発行元のサーバーが途中で変わると面倒そうなので、SSL証明書の期限のタイミングでnew_serverで発行して認証してもらうことにする。

しかし、このタイミングでopenssl 1.0.1に重大なセキュリティーホールが発見され、様子見
Debianの対応状況はこちら、https://security-tracker.debian.org/tracker/CVE-2014-0160

手元のopensslのバージョンは"1.0.1e-2+deb7u6" だから、対応版にアップデートされたようだ。

でも、重大な欠陥だったから、SSL証明書のリセーラーがパンク状態に。
証明書発行に時間がかかりそうorz...


2014年1月18日土曜日

Mac OS10.9 MarvericksにMac Portをインストール

Mac OSでもコマンドラインでLinuxのツールを使うので、
Mac OS10.9 MavericksにもMac Portをインストール。
ここ→http://www.macports.org/install.php からインストーラーをダウンロードして、インストールする。

これだけでは、まだ使えなくて Xcode のコマンドラインツールというやつもインストールしてやらないと動かない。Mac OS10.8 Mountain Lion のときとコマンドラインツールのインストールの方法が異なるようなので注意。

ターミナルを起動して
$ xcode-select --install
とすると、コマンドラインツールをインストールするかどうか尋ねてくるので、
"Install"をクリックする。

こちらに丁寧に解説されていました↓ 感謝。
http://hiroki.jp/mavericks-command-line-developer-tools

2014/05/01 追記
上記の方法ではエラーが出てコマンドラインツールがダウンロード、インストールできないケースがありました。この場合、AppleのDeveloperツールのパッケージをダウンロードする必要があります。このページ↓からダウンロードできます(Apple IDで要ログイン)
https://developer.apple.com/downloads/index.action

今回の場合は、
Command Line Tools(OS X Marvericks) for Xcode
という表示のパッケージをダウンロードし、インストールします。

2013年11月12日火曜日

CSVファイル情報を宛先(To:)や本文に挿し込んで一斉メール送信するシェルスクリプト

以前、「シェルスクリプトとcrontabでメール定時送信 on MacOS X 」という投稿をしましたが、この一斉メール送信シェルスクリプトを少し手を入れて、CSVファイルからメールアドレスをTo:に挿し込んだり、メール本文に相手の名前を挿し込んで一斉送信できるように改造しました。使いようによってはSPAMメールの発射装置ですな...
このスクリプトは無保証です、念のため。

例えば、こういうCSVファイルがあったとして
鈴木一郎,ichiro@hogehoge.com,userid0001,xko2magk,
上原浩治,uehara@funyafunya.org,userid0002,d8namdw2,
岩隈久志,iwakuma@bashabasha.net,userid0003,yuA7qle C,
メールのTo: にそれぞれのメールアドレスを挿入し、こうしたメール本文↓に相手先の使命や、ID、パスワードなどを挿し込んでいきます(パスワードをメールに記述することは本来望ましくありませんが)。
member_name 様

平素はご利用ありがとうございます。
弊社Webサイトのお客様ページへのmember_name 様のログイン情報をご案内します。

ーーーーーーーーーーーーーーーーー
ユーザー名:member_ID
パスワード:member_passwd
ーーーーーーーーーーーーーーーーー
member_name のところにCSV1列目の氏名を、
member_IDのところにCSV2列目のログインIDを、
member_passwdのところにCSV3列目のパスワードを
それぞれ挿し込んで、順次送信していきます。

なお、今回のスクリプトは、前回と同様に コマンドラインでのメール送信にmailコマンドではなくmuttを使います。
今回はmuttの設定には触れませんので、設定方法は他を参照してください。

 以下、スクリプトです。行頭の番号は行数の目安と、説明のために便宜的に付けているので、実際にスクリプトを書くときには削除してください。また、ファイル名やPATHなどは適宜読み替えてください。
  1 #!/bin/sh
  2 listfile="$HOME/list.csv"
  3 if [ ! -f $listfile ]; then
  4         echo "Recipient list file $listfile does not exist.."
  5         exit 1
  6 fi
  7
  8 mailfile="$HOME/mailbody.txt"
  9 if [ ! -f $mailfile ]; then
 10         echo "Mail body file $mailfile does not exist.."
 11         exit 1
 12 fi
 13
 14 subject=`head -n 1 $mailfile | nkf -m`
 15 cat ${listfile} | while read line
 16 do
 17         name=`echo $line | cut -d"," -f 1`
 18         to=`echo $line | cut -d"," -f 2`
 19         usernm=`echo $line | cut -d"," -f 3`
 20         passwd=`echo $lin3 | cut -d"," -f 4`
 21         contents=`/usr/bin/tail -n +2 $mailfile | sed -e "s/member_name/$name    /g" | sed -e "s/member_ID/$usernm/g" | sed -e "s/member_passwd/$passwd/g"`
 22         echo "$contents" | nkf | mutt -s "$subj    ect" "$to" -a "$1"
 23         if [ $? -eq 1 ]; then
 24                 echo "send mail failure $to"
 25                 exit 1
 26         fi
 27
 28         echo "send mail success $to"
 29         sleep 15
 30 done
 31 exit
2:CSVファイルの指定
3〜6:$listfileがなかった場合に吐くメッセージ。
8:メールサブジェクトと本文のテキスト指定。1行目がSubject、2行目以降が本文。
9〜12:$mailfileがなかった場合に吐くメッセージ。
14:$mailfileの一行目をsubjectに指定する。文字化けしないようにnkfコマンドで日本語コードを調整。お手元の環境に応じて適宜変更してください。
15:$listfileを一行ごと読み出し、whileで繰り返す。
17:$listfileから1列目の氏名をcutコマンドで切り出す。
18:$listfileから2列目のメールアドレスをcutコマンドで切り出す。
19:$listfileから3列目のユーザーIDをcutコマンドで切り出す。
20:$listfileから4列目のパスワードをcutコマンドで切り出す。
21:tailコマンドで、メール本文は2行目からと指定し、sed -e コマンドで本文中のmember_name、member_ID、member_passwdをそれぞれ置換する。
22:上記までで整えた本文をnkfをかまして、文字化け回避。お手元の環境に応じて適宜変更してください。そしてmuttに渡して送信。「-a "$1"」は添付ファイルをする場合のおまけで、スクリプト実行の際、引数として添付ファイルを指定してください。添付ファイル不要の場合は削除可の記述です。
23〜26:メールが送信できなかった場合に吐くメッセージ。
28:メール送信が成功した場合に吐くメッセージ。
29:送信間隔の指定。スパム対策のため時間当たりのメール発信数を制限しているSMTPがあるので、制限に応じたインターバルを設定する。

参考情報
お忙しい中、スクリプト作成の相談にのってくださり、多くの助言をくださった、K.O氏に感謝。

2013年8月19日月曜日

家族Camp2013

今年は8月13日から16日にかけて三重県紀北町の孫太郎オートキャンプ場を3泊利用し、その後、紀伊半島を海岸線沿いにぐるりと移動し南紀白浜のとれとれビレッジで1泊するプランでした。
今年の家族キャンプに先立って、テントを新調しました。
これまでの6年間は、小川キャンパル 製の Tiara4という四人用テントを使っていました。
まだ、十分に使える代物だったのですが 、
小川キャンパル Tiara4

昨夏のキャンプで、成長した子どもたちの激しい寝返りに耐えかね、親のキャンプ中の安眠を確保すべく、一回り大きなテントを購入しました(Tiara4は友人のY.K君に譲渡)。
キャンプ中に強い雨風に遭わないという前提であれば、コールマンなどの廉価なテントでもいいのですが(ホームセンターにはさらに安価なテントも多数)、「テントは少々強い雨風に遭遇しても耐え凌げなくてはならない」という信念から、国内アウトドア用品メーカー Snow Peak社Land Breeze6 という6人用テントへの買い換えに踏み切りました。
Snow Peak社 LandBreeze6

高校のワンゲル部時代に使用していた、ヘリテイジ社のエスパース・スーパーライト6-7人用も購入候補アイテムだったのですが、何故か今季は入荷が遅れに遅れ、本稿執筆時点でも入荷がなく断念しました。

Land Breeze6は就寝スペースが3m×3mと広く、床面中央から放射状に4人が寝転べるという贅沢なスペースが確保され、子どもたちの少々の寝返りでも腕や脚がぶつかりません。また、Tiara4より6kgくらい軽量で、車の燃費にも貢献します。



さて、これまでの家族キャンプでは、初日はテントを張って夕食にバーベキューをしてお終い、というパターンだったのですが、今年は、いきなり海水浴からスタートです。





子どもたちはどんどん成長してたくましくなっていきますが、親は前年より確実に衰えていくわけで、初日からの全力の海水浴は、かなり消耗します。
きつく日焼けをすると、シミだらけになるので、サンシェードの設置と入念な日焼け止めクリームの塗布は欠かせません。特に海水浴初日の日焼け止めの失策は、後日の入浴での激痛に直結します。

 海水浴を堪能した後の夕食は、定番のバーベキュー(右写真)。我が家のキャンプではAC電源付きサイトに小型の冷蔵庫を持ち込むのですが、それでも近年の猛暑のこと、食品の傷みを考えて初日の夕方に一番贅沢な食材を投入します。




 対岸の山に沈む夕陽。
(このキャンプ地は、C字湾に面しています)
そして、キャンプ初日が終わっていきます。







キャンプ2日目、
帰宅して写真を整理していると、何故かこの日の写真がまったくありません。
カメラやメディアの事故などではなく、全く撮っていなかったようです。
この日は早朝から、キャンプサイト前の浜でキスの投げ釣りに初挑戦。釣果はゼロ。
3日間にわたり早朝にキスの投げ釣りにトライしましたが、全くのボウズでした。
そして、日が昇ると終日海水浴に突撃。
つまり、この日は、お父ちゃんが朝から晩まで全力で釣りに海水浴に興じていたので、カメラのシャッターを切る暇がなかったようです。 

キャンプ3日目、
早朝のキス釣り、朝食の後、キャンプサイト近くの県営プールに。
本当に今回は泳ぎっぱなしですな。


 夕食は、現地スーパーで調達した海鮮でバーベキュー。この地域は「オークワ」「ショッピー」「主婦の店」という三つスーパーが勢力を争っています。
流通業の職歴がありますので、ついつい、品揃えとか、強みのアイテムとか、陳列のセンスの良さとかを観察してしまいます。



キャンプ4日目、
テントを撤収し、4人そろって"くまモン"Tシャツを着用で記念撮影。(注意:夫婦共に親戚も含めて、熊本県とは縁もゆかりもありません)
左手は愛車のHonda FREED。小さい車体ながら、乗る積むという機能について完成度の高い車です。

潮岬までの道すがら、近大の水産施設が何件か見られました(こちらも縁もゆかりもありませんが)。








←潮岬灯台
 ← 潮岬からの景色
 ←潮岬灯台の展望台






潮岬を後にしたのが午後4時過ぎ 。
予定していた串本海中公園の見物は、到着時点で窓口受付が終了していました。
朝のテント干しを長くとりすぎて、出発が遅れたのが響きました。
 んで、南紀白浜とれとれビレッジに到着。とっぷり日は沈んでいました。
フロントでチェックインすると、夕食の時間は20:30からだと言う、遅い! ま、チェックインも遅いんだけど。
夕飯時間まで温泉でキャンプの汗を落とす。日焼け止め対策が功を奏し、快適に湯船に体を沈めることができました。
とれとれビレッジは、ドーム状の個室が並ぶ宿泊村です。子どもたちも興奮気味に「ホテル最高!」
去年も書いたけど、4日間のテント生活をしてきたから、ホテルの感動も一入なのですよ。


混雑する入場ゲート

 最終日はアドベンチャーワールドに行きました。
園内の動物たちの写真どぞ。
パンダ「優浜(ユウヒン)」
ぞうさん

ヒグマ(サファリ内)

チーター(サファリ内)






























カンムリヅル














岩に座し虚空を見つめ、何を思ふ





 










下の娘が生まれる前に、アドベンチャーワールドに旅行に来たことがありました。そのときもこのパンダの前で記念撮影をし、自宅にその写真が飾られています。
娘は「私が写ってない!」と、ずっと疎外感を覚えていたようです。アドベンチャーワールドのこのパンダ人形の前で家族一緒に記念撮影をすることは彼女の悲願でした。




そんなこんなで、今年のSummer家族キャンプも終わっていきました。
テントも新調しちゃったので、あと数年は家族キャンプを続けようかとは思います。

ただ、家族キャンプだと、親子間相互にどうしても甘えが生じて、子どもたちのキャンプ体験として、踏み込み不足も感じます。私は5年生で子ども集団でのキャンプに参加しました。そして長男も来年は5年生、さてどうするか。

2013年3月26日火曜日

Mac Book Air (Mid 2011)のWiFi不調の修復

この2,3ヶ月、Mac Book Air (Mid 2011)のWiFiが非常に不安定で、難儀していました。まず、起動した直後はつながらない。液晶パネルを閉じて開けるという作業をしてやると何故か接続することがあるという、不可解な症状でした。

出張用件が銀座に近かったので、アップルストア銀座に立ち寄って相談してみました。
結果としては非常に簡単に修復できました。
/Library/Preferences/SystemConfiguration/
を一旦削除して、再起動する。それだけです。

このディレクトリにネットワーク設定が保存されるらしく、その設定ファイルに何らかの異常があったようです。一旦削除し再起動するとこのディレクトリはクリーンな状態で再生成されるとのこと。ネット検索でも辿り着けたかもしれませんが、さすがアップルストア、解決が早いです。

これで、会議中に液晶パネルを開けたり閉めたりする煩わしさから解放されます。
よかった、よかった。

2013年3月23日土曜日

ブログのURLを変更しました

これまで、このブログのURLは
http://blog.marron.jp/
でしたが、
http://blog.g.marron.jp/
に変更します。
".g"を挿入しただけです。
marron.jpでgoogleサービスを利用するものには、統一して".g"を付けることにしました。

2013年1月11日金曜日

NetCommonsの投稿件名文字数の変更

仕事でNetCommonsというCMSを利用していますが、投稿の件名(title,subject)が全角32字を超えて入力できない設定になっています。セキュリティ上の理由ということですが、32字で収まらないタイトルが少なからず寄せられるものですから、設定をいじって増やします。
NetCommonsのオフィシャルWebサイトフォーラムに設定変更方法が掲載されていました。備忘用に転載。


webapp/config/define.inc.phpにある207行目の

define('_VALIDATOR_TITLE_LEN', 100);

を変更してみてください。

とりあえず、倍の200にしてみました。
設定ファイル変更後は、"管理"->"モジュール管理"で、一括アップデートを忘れずに。



2012年10月13日土曜日

大騒動の七五三詣り

今日は娘の七五三詣りだったのですが、大変な一日になりました。

 写真屋さんに記念撮影に行き、娘の着替えさせている最中、カミさんと相談し「この際、お兄ちゃんも一緒に撮って、年賀状の写真もすませてしまおう」ということになった。

 しかし、これが騒動の発端。ただでさえ出不精な息子は写真屋さんについて来ているだけで不機嫌なところ、さらに好きではない写真撮影につきあわれることになって、ついに爆発。こうなるとこの男、時ところや相手にお構いなく満身で不服の態度を示す。さんざん写真館のスタッフの手を煩わせることになる(息子の撮影をやめようともしたのだけれど、向こうさんも商売なので必死になだめる)。

 なんとか、撮影を終えて石清水八幡宮へ向かう車の中で、私は息子に対して「なんじゃ、あの態度は、小三ににもなってええ加減にしとけよ!」と怒る。それに対して、息子は「何でボク関係ないのに、写真撮ったり神社行ったりせなあかんの、ヒドイ!」と返す。

 この言葉に対して私の怒りもついに頂点に達する「何やその言いぐさは! 家族のことやろっ、あんなぁ、この社会に生きるということはな、誰かのために何かをしたり、誰かのために何かを我慢せなあかんことがあるんじゃ! それをするから、お前にも何かやってもらえることがあるんじゃ! 自分だけのことしか考えへんのやったら、無人島で独りで暮らせ!」と怒鳴り散らして、息子の頬をつねる。

 そして、石清水八幡宮に着くと、息子は同行拒否の態度をとり境内の方に着いてこない。お互いヒートアップしていたので、息子をカミさんに任し、娘と一緒に境内へ七五三詣りの手続きをしにいく。しかし、しばらく待ってもカミさんと息子が来ない。

 すると、カミさんが血相を変え泣きそうな顔で境内の方へ走ってくる。「○○(息子の名)がおらへんようになった!」。どうも逃走をはかったようだ。大変だ、もう七五三詣りどころの話ではない、カミさんが息子を見失った周辺を必死で捜す。道行く人にも小学三年生くらいの男の子を見なかったか、と尋ね足取りの方向を絞る。そして神社からそれほど遠くない、私の実家の母に電話をし「○○が行方不明になった! 家で待機しておいて」と要請。娘も着慣れない着物を長く着て具合が悪くなってきていたので、娘を私の実家に預けにカミさんに車で向かってもらう。その間、もう一度息子を見失った地点に戻り、彼の足取りと今後の対応について考える。

 奴は、時々こういう暴走を起こすが、一方で相当の恐がりでもあるので、薄暗い八幡宮の森の中に入って行くことは考えにくい。 道行く人に聞いたところから絞り込むと、橋本駅方面の住宅街に向かっていることが濃厚、うちの実家もあるし。息子とは毎年正月に橋本方面から八幡宮まで往復するが、橋本の住宅街はかなり複雑、実家まで辿り着けるか? 途中に第三者が介在すると、その足取り仮説も怪しい。

 とりあえず、うちの実家に行ったカミさんの連絡を待って、見つからないようだったら社務所と警察に届けを出すしかない。覚悟を決めて社務所の方向に踵を返したところ携帯電話に着信、実家の母からだ。息子が実家にたどり着いたという知らせ。電話の向こうからカミさんの泣いている声が聞こえる。安堵の大きなため息が漏れる。

 息子に再会してから話を聞くに、やはり橋本の住宅街の途中で道がわからなくなり、近くにいたおばちゃんに声をかけ、「○○さん(実家の名字)の家はどこですか?」と道を尋ねてたどり着いたとのこと。教えてくれた方も住宅地図を引っ張り出してきて調べてくれたのだとか。 息子のつたない説明では、結局どこのどなたかはわからなかったのだが、この場を借りて御礼を申し上げたい。自分の育った地域の温もりを改めて感じることができました。

 その後、気を取り直して午後から七五三詣りに行きました。

 子どもへの提案の仕方、叱り方などについて、いろいろと反省させられる一日となりました。あぁ、疲れた。

 

2012年8月20日月曜日

家族Camp2012

 今年も恒例の家族キャンプにいってきました。この3年間は「小豆島ふるさと村オートキャンプ場」を 利用していましたが、今年は気分を変えてみようと、三重県の「志摩オートキャンプ場」を利用しました。そして、修学旅行よろしく、二見浦、伊勢神宮や水族館などを巡ってきました。

 昔の私を知る人は、「軟弱なキャンプをしている」といった感想を持たれるかもしれません。しかし、これは夏の家族旅行でありまして、宿泊手段にテント泊を選択しているだけです。

 理由は簡単、圧倒的に安いからです。ハイシーズンでも家族まとめて一泊7,000円〜10,000円くらいです。このシーズンの宿なら、一人一泊もできない価格です。もちろん、上げ膳据え膳などあろうはずもなく、ほぼ自炊、風呂やシャワーもままなりませんが、それさえさほど苦にならなければ、大変リーズナブルな旅です。

 テントなどの装具に少々イニシャル・コストはかかりますが、宿宿泊換算で通算5,6泊もすれば償却してしまいます。これらのアイテムは、そのまま災害罹災時用品になります。

 ではでは、旅行の様子を少しご紹介。

8/14 (火)

前夜の激しい雷雨により自宅前の道路が冠水し、車庫にも少し浸水したようでした。出発を一日遅らせることも考えましたが、目的地はそれほどひどい雨ではなかったようなので、とりあえず出発。しかし、やはりというべきか、京滋バイパスは土砂崩れで通行止め、第二名神も通行止めとなり、栗東から国道1号線で亀山に向かい、そこから伊勢道に乗りました。

 そんで、最初についた目的地の一つ、二見浦。修学旅行でおなじみ?(少なくとも、私もカミさんも小学生の修学旅行は伊勢でした。)の夫婦岩を拝みます。




当初、夫婦岩の近く「二見シーパラダイス」の見物する予定だったのですが、高速道路の通行止めにより到着が遅れてしまったので、 後の日程に変更し、施設内の商業施設で昼食をとりました。おそらく修学旅行生の利用を前提にした「食堂」のような飲食施設で、月替わりおすすめ品の穴子丼を食しました。穴子の天ぷらを立てて盛りつけているのがポイントなのだそうですが、ご飯表面の天ぷら具材が少なく、少々貧相な感じでした。これならば、普通に横に盛りつけた方が豪勢に見えるのでは... 980円也。


 キャンプ場への到着は午後3時過ぎ、そそくさと幕営準備を始めます。

 今回のキャンプでは、息子が飯ごうでの炊飯にチャレンジです。





8/15(水)

夜は小雨がありましたが、十分テントで凌げる程度の降雨で、翌日には天気が回復したので、予定通り日がな海水浴に出かけます。キャンプサイトから徒歩5分のところに「あづり浜」というビーチがあるので、楽ちんです。

 この日の夜は、私が主菜を担当。「パエリア風ソーセージのドライカレー」です。作り方はパエリアと同じなのですが、色づけにサフランではなく(高いので...)、カレー粉を使いました。本場のパエリアは米に少々芯を残すようなのですが、個人に「芯飯」は炊飯の失敗だと思っているので、皿で落とし蓋をして「ご飯」のような炊きあがりに仕上げました。味は、普通にドライカレー。



 8/16(木)

キャンプ3日目もいい天気。真夏日の一日となりましたが朝の一時、秋っぽい空模様も垣間見えました。

この日は終日、近くの「合歓の郷」のプールで遊びました。
その後、同施設内にある温泉に入ったのですが、前日の海水浴とこの日の日焼けが痛くて、湯船に足を浸けることができませんでした。


8/17(金) 

この日は早朝のうちにテントをたたみ、伊勢神宮に向かいます。伊勢神宮は外宮・内宮を中心に多数の社から成るそうです。外宮→内宮の順で参るのが本道とのことですので、それに倣い外宮から参りました。

平成25年が、20年に一度の遷宮だそうです。




 外宮周辺に飲食店や商店が少ないのですが、内宮周辺には「おかげ横町」などの風情ある商店街があります。 内宮に参る前に少し腹ごしらえ。松阪肉の丼をいただきました。子どもたちも「うまい! うまい!」と痛く喜んでいました。宿泊で節約しているので、こういうところで奮発です。


内宮参道の入り口です

 歩き疲れて、五十鈴川のほとりで少し休憩。




この日の夜は、鳥羽で宿をとりました。2年前、テント4泊ということをしたのですが、さすがにしんどいということで、最終日のみ宿を取ることにしました。今回は「KKR鳥羽いそぶえ荘」 です。この日子どもたちは、人生初のアワビを食して喜び、息子は「蟻が近くにいない」文明生活に感動し「旅館はいいねぇ」と何度もつぶやいていました。息子よ、3泊の野外生活を過ごしたから、そういう些細なことに喜びがあるのだよ。


8/18(土)

最終日、この日は初日に行き損なった 「二見シーパラダイス」に行きました。このあたりでは「鳥羽水族館」が有名ですが4人で入館するととても高いのでこちらを選択。この水族館のウリは、観覧者と生き物の距離が近さです。数百キロあるセイウチやゾウアザラシが目の前を歩いて行きます。もちろん、手で触れることができます。子どもたちはアシカの餌やりにも挑戦しました。



そんな、こんなで今夏も4泊5日の家族旅行を無事終えました。

このキャンプで感じたのは、やはり子どもが心身ともに成長していることです。お手伝いもいろいろできるようになってきましたし、5年前に梅田のIBS石井スポーツで購入した「小川キャンパル製Tiara4」では特に就寝時に手狭になってきました。来年もキャンプに行くとすれば、もう少し大きなモノに替えた方がいいかもしれません。

2012年7月24日火曜日

" info: mpt raid status change on **** " メッセージ

MacOS + VM ware Fusion4 + Debian6でサーバー稼働中。
標記のメッセージがroot宛に大量に届いている。
いつもの事ながらgoogle様に神託を請う。
あった。
http://wal3san.blogspot.jp/2011/03/mpt-statusd-detected-non-optimal-raid.html

他のサーバも、メッセージ止めなきゃ。

2012年7月11日水曜日

ImageMagickのconvert コマンドでPDFから画像サムネイル作成

Linux やMacOS環境で、ImageMagickをインストール。

基本は
% convert input.pdf output.png

変換元PDFのサイズが大きい場合は変換画像も大きくなるのでサムネイルには不向き。
そこで、-resize オプションを追加

% convert input.pdf -resize 300x output.png
MacOSX Lion のMacPort でインストールしたImageMagic環境では、上記のコマンドで長い辺水平辺を300pxにしてくれる。垂直辺を300pxにしたい場合は、引数を"x300"とする。


% convert input.pdf -resize 300*200 output.png
↑のような感じで、縦横比率も指定できる模様

複数ページPDFの指定ページ(下記例では先頭ページ)だけを変換するには
% convert input.pdf[0] -resize 300 output.png
と[0]とページ数指定する旨の記録が他のサイトで見られたが、私の手元の環境では何故かエラー
[追記]↑ 'input.pdf[0]'と、変換元ファイルとページ番号をシングルクオートで囲むとうまくいくみたい。

Wordなどから直接書き出したPDFをPNG画像にすると、デフォルトでは透過画像になってしまい、サムネイルに使いにくい場合も。そこで
convert input.pdf -alpha deactivate -resize 300 output.png
と、-alpha deactivate オプションを指定すれば、非透過PNGが生成される。

[追記]画像に影をつける。
convert sampl.png -fill '#0008' -draw 'rectangle 10,440,620,470' -fill white -pointsize 25 -annotate +20+465 "$DATESTR" \( +clone -background black -shadow 70x6+10+10 \) +swap -background white -flatten sample-s.png

参照サイト
http://okwave.jp/qa/q6961685.html
http://xucker.jpn.org/pc/pdf2image.html
http://d.hatena.ne.jp/val90/20070227/1172558857
http://d.hatena.ne.jp/kaorumori/20081002/1222917528
http://d.hatena.ne.jp/tanigon/20100312
http://www.naney.org/diki/d/2009-02-11-ImageMagick.html
など、いろいろ。
先行して記録を残された方々に感謝。