お仕事の最近のブログ記事

某地域SNSにも書いたのだが、一応、ブログにも書いておくか。

どうして平気で他人に迷惑をかけられるのか・・・」で書いたように、広島県の某IT業界団体の会費が未納だからと我が社に督促があった件の顛末。

とある会社を退職された▲■さんが、「サラリーマン時代に築いたこのIT業界団体の人脈を失いたくない。自分で会費を払うから、お前の会社の名前を使わせてもらえんか」と言われるので、▲■さんがサラリーマン時代には色々お世話になったし・・・と対応したのだが・・・
実は、▲■さんはまったく会費を払っておらず、とうとう我が社に業界団体から督促の電話がかかってきた・・・という話ね。

20100806_saikokujyou.JPGで、8月の初めに、いきなりこの業界団体から催告状が届いたのよ。びっくり。
期限までに金を払わないと然るべき対応を取りますよ・・・という内容。

以前、俺から業界団体には▲■さんとの経緯を話し、業界団体も理解してくれて「では、▲■さんと仲の良い役員もいるので、そのルートで事実確認してみます」とか言うてたのに、なんやねん?と思い業界団体に電話してみた。

もちろん、名前だけ貸していたとはいえ我が社が会員だったことは事実なので、▲■さんが「わしは払わん」と言われれば、当社で払うしかないのだろうな・・・とも思ったしねえ。

で、我が社の名前を伝えると、すぐに4月に電話で話した事務局長さんに電話が廻された。

事務局長さん曰く。

「▲■さんには事実確認が出来て、▲■さんが分割払いで会費を支払うと言われた」
「しかし、▲■さんがそれまで参加されていた部会にも出て来られなくなり、連絡が取れなくなった」
「もう、▲■さんがちゃんとお金を払ってくれる可能性は無いだろう」
「事務局としては、一応、書面上の手続きを取って(会費未払いで強制退会の)処理をしないといけない」
「そのため貴社に催告状を送らせてもらったが、実際に払っていただこうと思っているわけではないので、そのままほっておいてもらえばいい」
「お金を払っていただくと、自動的に会員資格も延長され、また会費の請求が発生する。▲■さんに名前を貸されていただけで、貴社にとっては当団体に所属するメリットはないとお聞きしているので、このままお金をお支払いにならない方が良いのではないかと思う」
「もちろん、団体としては会員を続けていただいたほうが嬉しいが・・・」

まあ、つまり、団体としても▲■さんとのつながりは切ってしまいたいので、出来ることなら我が社に退会してほしいということなのだろう。
もちろん、俺としてもそれがベストなので、事務局長さんに色々心遣いいただいた礼を述べて電話を切った。

どうやら、これでこの件は解決のようだ。

しかし、ほんとに▲■さんはどうしたというのだろう?
サラリーマン時代の豪快な人柄がまったく感じられない小者ぶりだ・・・
▲■さんと色々馬鹿やって楽しかったサラリーマン時代の思い出も全てクリアされてしまった感じ。実に寂しい。
結局、▲■さんの豪快さは「会社の力(お金とか)」をバックにした、偽りの豪快さだったってことか・・・

改めて、無理に背伸びをして首がまわらなくなったり、自分を慕ってくれる後輩などを裏切ったりすることのないよう生きていこうと心に誓う契機になる騒動だった。

いやぁ、今日は朝から某社で FS 作業をしたのだが、昨日の夜あたりからドキドキしていた。

つーのが、Windows 2003 Server のバックアップに EMC Retrospect Disk-to-Disk 7.6 for Windows + Disaster Recovery アドオンという「使ったことのないソフト」を使ったからだ。

いや、ま、それだけならそんなにドキドキはしないのだが。

実は、既に当社はこのソフトのせいで多大な損害を被っているのだ。いや、悪いのは俺なんだけど。(^^;

今回、こんな使ったことも無いソフトを使った理由は、「ユーザのコスト負担を抑えたい」ということに他ならない。
お客さんから「Acronis True Image のサーバ版って 15万円くらいするんで、もう少し安いのってない?」と相談を受け、色々調べた結果「EMC Retrospect というのが、Windows 2003 Server に対応している中では一番安いみたいっすね」ということで、当社で仕入販売したのである。

・・・が、大間違いだった。
実は、Retrospect Disk-to-Disk 7.6 単体では「ファイル単位のバックアップ」しか出来ず、リカバリ時も必ず「OS の再セットアップ後、バックアップファイルで上書き」という方法しかとれないのだ。

おいおい・・・OS の再セットアップをしてチンタラ復旧というのを避けるために何万円も出してバックアップソフトを買うのにそれはないやろ・・・という話だ。
調べてみたら、Disaster Recovery というアドオンソフトを追加すればイメージバックアップ&緊急リカバリCDが作成出来るらしい。

・・・が、その価格、8万円超である。Disk-to-Disk 7.6 本体と合わせたら 14万円だ。Acronis True Image と値段変わらんじゃん!ということだ。(^^;
で、既にお客さんとは「5万円強(Disk-to-Disk 7.6 本体の価格)で済むのなら導入する」ということで注文をいただいているので、今更「すんません。8万円強ほど追加購入が必要です」なんて言えんじゃん。

ええ。当社で負担しましたよ。いや、お客さんに言われたわけではなく、うちの判断で。

まあ、そんな状態だったので、何となく「本当に Disaster Recovery アドオンの追加でうまくいくのかよ!?」という心配があって、ドキドキしていたというわけである。

結果は、何とかうまくいったけどね。(この操作マニュアルがまたわかりづらいのよ(^^;)

しかし、さっき俺に怒髪天を衝かせる出来事が・・・

Retrospect Disk-to-Disk 7.6 がイメージバックアップが取れないことが判明したので作業日程を一ヶ月ほど先送りし今日の作業となったのだが、その間に発売された Disk-to-Disk 7.7 は、価格は 7.6 と同じで、なんと、Disaster Recovery アドオンが標準装備なのである!!

あああああああああっん!?

そりゃあ、Disk-to-Disk 7.6 を選択した責任は俺にあるから、悪いのは俺自身だけど、なんだよ、それ。零細企業に取って、8万円強の「捨て銭」は身を切るほど痛いんだぜ!
素直に納得出来るか、そんなもん!!!!

今日、作業終了後は元請の人と「Retrospect Disk-to-Disk もけっこう使えますね。もし今後同じような商談があったら、(値段はあまり変わらないけど)Acronis True Image じゃなくこっち(Retrospect Disk-to-Disk)を奨めても良いんじゃないですか?」なんて話してたんだけど、全部無しだ。
誰が、Retrospect なんか売るかあ!ええ、大人げないですとも。ええ、ええ、大人げなくてけっこうです!俺は股間と心は子供のままなんじゃ!ぼけぇ!

Acronis True Image Echo Server for Windows も 15万円なんてことはないし(98,000円だ)、今後はやっぱり True Image を奨めていくぜ!(笑)

「コンピュータ&ネットワーク EXPO '09 広島」に行ってきた。

091111_130554.JPGう~ん・・・なんか、うちみたいな零細が商売のネタに出来るようなものは皆無で(経理系のパッケージソフトとかの紹介はあったけど、まったく興味ないし)、あまり面白くなかった。

あと、狭い通路の両側にずらっと並んだセールスマンが鬱陶しい。(^^;
会社から、出来るだけ多くのパンフを渡してくるように言われているのだろうが、ちょっと目があっただけですぐにパンフを持った人間が近づいてくるのは恐怖だ。(^^;
こっちはじっくり展示されている商品と掲示してある説明を読みたいというのに、気が散って仕方ない。故に、「面白いものが何もなかった」という状況になるのだ。
こっちが説明を聞きたいときだけ寄ってきてくれればいいのに。

ま、だいたいこういうのは、セールスマンじゃない人間がこの日だけ無理矢理「売り子」をさせられるわけで、その辺の機敏が分からないのは仕方ないのだが。それに、この業界は、年寄り(特に団塊の世代)にセールス能力の無い人間が多いしなあ。
変なコンサルに「街角で大きな声で歌をうたうことで営業力が付く」かのような誤った教育を受けた世代がちょうど偉くなって、若いヤツに「何が何でもパンフを受け取ってもらうことが営業の第一歩だ」的な誤った指導をしちゃってるんだよな。

営業は技術です。
そんな精神論なんて糞食らえ。精神論なんかじゃ動かず、でも、精神論的なものが好きなお客さんの前では、精神論大好きっこのように演じられる技術を持たなくちゃいけません。
それと、本来営業でもない社員にパンフを配らせるなんつう無駄なことをするより、ちゃんとブースのディスプレイを考えるべき。力の向けようが全然駄目。街角で歌をうたったりしてたオヤジどもには無理な注文なんでしょうがねえ。

つーことで、持って帰ったパンフは、本業とは全然関係ない「CREATEC JAPAN 2009 立体ハイビジョン IP 伝送実証実験」のものだけだったという・・・(笑)
さて、Perl の sprintf で、文字列の右側に 0 を補完するのはどうすればええんじゃろうねえ?

例えば、

$d    = '112200225';

して、この値を sprintf で編集すると、

$d      = sprintf("%020d", $d);

なら、00000000000112200225 となっちゃうんだけど、実際は、後ろに 0 を補完して、11220022500000000000 としたいのよ。

試しに sprintf("%-020d", $d) ってやってみたけど、これじゃあ何も補完されないだけだった。

後ろにスペースを埋めるというやり方はあるので、先にスペースを埋めてからそれを正規表現で 0 に変換しちゃえばいいんだが、こういうやり方しかないんかいのお?

$d    = '112200225';
$d    = sprintf("%-20s", $d);
$d    =~ s/\s/0/g;
print "$d\n";

とすれば、出力結果は 11220022500000000000 だ。
これをね、sprintf 一発でやりたいんだけどなあ。

識者の方、ぜひご教示ください。

今日は、ちゃちゃっと済ませたいプログラム修正があったので、久しぶりに Futaba@Cafe に。
駅前のジュンク堂に用があったので、そこからまた観音本町まで移動するのが面倒だったので。(^^; ちょうど、プログラムをバックアップしていた USB メモリも持ってたんでねえ。

で、今日座った席は、OS が Vista になってるなあ。前は XP だったと思うが。
で、で、そのせいか、フタバのパソコンで発生していた「Gmail でプチフリーズする」現象が出なくなってた。

おお!素敵。

ぱちぱち入力している最中に、数十秒だけど反応がなくなったりして、ほんとに使いづらかったもんなあ、あれ。
いやあ、Gmail が快適だと、仕事もはかどりますなあ。

091001_160528.JPG・・・が、反対に別の問題が。

Schwertkreuz 上で秀丸エディタを使っているのだが、ファイル関係の操作でフリーズしてしまうようになった。
ファイルを開こうとしたり、名前をつけて保存とかしようとすると、秀丸エディタが(応答なし)の状態になってしまうのだ・・・
ただ、100%駄目というわけではなく、極稀にうまくいくこともあるから問題だ。

やれやれ・・・多分、Vista の「腐れセキュリティ機能」のせいだろうなあ・・・
最悪 OS の面目躍如だなあ、Vista よ。
「Vista は良い OS」って言ってるヤツら、俺に謝れ。(笑)

仕方ないので、秀丸エディタを新規インストールして作業した。
ま、そのほうがレスポンスもいいので、仕事ははかどるんだけどねえ。

うちで運営している地域 SNS のお知らせメール(デイリーニュース)が今朝は配信されてなかった。

サーバに入って maillog を見てみると、

Sep 30 08:01:32 snsserv postfix/qmgr[58514]: 94EE75096C: from=<sns@snsserv.exsample.com>, size=4796, nrcpt=1 (queue active)
Sep 30 08:01:32 snsserv postfix/qmgr[58514]: 94EE75096C: to=<hogehoge@xxx.xxxx.ne.jp>, relay=none, delay=7268, status=deferred (delivery temporarily suspended: connect to mail2.exsample.com[202.XXX.XXX.XXX]: Connection refused)

なんてログが山のように・・・

ああ・・・そうだ・・・以前、この地域 SNS サーバを非固定 IP で運用していたとき、怪しいサーバと判断してメールを受け取ってくれないサーバがあったので、固定 IP の mail2.exsample.com を経由(RELAY)するよう設定してたんだった。

で、実は、昨夜、mail2.exsample.com は SMTP を止めたのよ。
以前、ここでも書いたように、このサーバを預けていたデータセンターがハウジングのサービスを止められるもんで。今日、実際にサーバを撤去したんでね。前夜に SMTP サービス自体は止めてたって話。

ということで、Postfix の設定を変更を。

/usr/local/etc/postfix/main.cf の中に、

relayhost = mail2.exsample.com

という記述があるのでコメントにして、

# /usr/local/sbin/postfix reload

で設定ファイルを再読込させる。これでOK!

後は、queue に溜まっているメールを、

# postqueue -f

で、強制排出。

ま、こんなことせずにほっておいても、そのうち配送されるんだけどねえ。

いやあ、しかし、Postfix を使っているのはこの SNS サーバだけなので、毎度コマンドを思い出すのに時間がかかるよ。(メモしとけって話だけど(^^;)

ま、そのうちこの地域 SNS もサーバを移すので、その時には Postfix ではなく、qmail の利用に変更しようてえ。

これも移行したサーバでの話。

tDiary を動かしているサーバを別の場所に動かしたんだけど、そしたら

env: ruby: No such file or directory

というエラーが出て、tDiary が動かなくなってしまった。
どうも、Ruby のパスが取れてない様子。

tDiary のスクリプトは、シェル宣言で直接 /usr/local/bin/ruby という Ruby のパスを指定せず、

#!/usr/bin/env ruby

という具合に、env コマンドで ruby のパスを指定している。(ruby のインストールディレクトリがどこになってもいいようにだろう)

で、/usr/local/bin にある ruby が No such file or directory になるということは、プログラムファイルを探す経路情報である環境変数 PATH に、/usr/local/bin が含まれていないということだ。

実際、CGI で取得出来る環境変数を調べてみると、PATH は、

/sbin:/bin:/usr/sbin:/usr/bin

となっている。/usr/local/bin は確かに含まれていない。

これに関しては、Apache の起動スクリプトで、apachectl を実行する前に、環境変数 PATH に /usr/local/bin を足し込んでやればいい。
こんな感じ。

#!/bin/sh

export PATH=$PATH:/usr/local/bin
/usr/local/apache2/bin/apachectl startssl

しかし、マシンを再起動するまでは、問題なく動いていたのに何故?

同じ OS(FreeBSD 5.X-R)で、マイナーバージョン違いの Apache を動かしているうちのサーバで調べてみると、Apache の環境変数 PATH に、/usr/local/bin は含まれている。

/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin

あれれ、これ、.cshrc 内で指定しているパスじゃん。

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

そうか・・・
以前、tDiary をインストールした時、こういう問題が発生せずにすんなり動いたのは、自動起動された Apache ではなく、ユーザが apachectl コマンドをシェル上から実行した Apache だったからかぁ。
謎が解けた。

つまり、/usr/local/etc/rc.d 以下の自動起動スクリプトで起動された時は、PATH には /etc/rc で指定されている

PATH=/sbin:/bin:/usr/sbin:/usr/bin

この値がセットされるのだろう。
で、ユーザが起動した時は、そのシェル上の環境変数 PATH の値がセットされるというわけだろう。

このサーバ、既に4年近くノンストップで動いてて、再起動したことなかったもんな。
それまでに、Apache は何度か STOP/START してるんで、/usr/local/bin へのパスも通っており、tDiary でもエラーが出なかったんだな。

つーことは、/etc/rc の PATH に /usr/local/bin を追加しておけばいいということか。
システムファイルを編集するのは少々気持ち悪いが、/usr/local/bin は追加しても全然問題無い気はするがな。
ま、取りあえず tDiary 以外で問題は発生していないので、暇が出来たら実験してみるということでよかろうてえ。

ちなみに、FreeBSD だと /etc/rc だが、Linux なら /etc/init.d/functions の中でディフォルトの PATH は設定されているようだ。

ああ、原因が分かってすっきりした。寝よ。
新しいサーバにうちのメールサーバを移したら、なんと特定のアカウントだけメールが届かない現象が・・・

どういう基準で「届く/届かない」状況になっているのかよくわからなかったのだが、やっと先ほど判明した。

ちなみに、qmail-1.03 + ucspi-tcp-0.88 + vpopmail-5.4.28 という環境である。

で、どうも、VirtualDomain のユーザディレクトリの下に置いた .qmail ファイルに、配送先として Maildir を書いた場合に、

delivery 3: deferral: client_connect:_warning:_config_begin_failed/Aack,_child_crashed._(#4.3.0)/

というエラーが出て(warning って出てるけど、実際にメールが配送されないんで、これはエラーだ)、メールの配送に失敗してしまうのだ。(Maildir/new にも入っていないし、その下に書いていた転送先にも転送されていない)

で、.qmail を置かなければ問題なく Maildir/new にメールデータは書き込まれる。
.qmail を置いた場合も、転送先が書いてあるだけなら(Maildir が書かれていなければ)、問題なくその転送先に転送される。
つまり、他のアドレスに転送するだけなら、そのアドレスだけを書いた .qmail を置けば問題なく動作するし、転送をしないのなら .qmail を置く必要もないので、これまた何の問題もない。
問題になるのは、他のアドレスに転送しつつ、Maildir にもデータを置きたいという場合である。

ちなみに、Maildir の指定方法は、

./Maildir/
/home/vpopmail/domains/exsample.com/hogehoge/Maildir/

のように、相対パスでも絶対パスでも、どちらでも駄目。

一応、解決策も見つけてて、ドメインのディレクトリ直下に、

.qmail-hogehoge

というファイルを作って、そこに、

/home/vpopmail/domains/exsample.com/hogehoge/Maildir/

と絶対パスで書いてやれば正常に配送されることが確認出来た。
何か気持ち悪いけど、取りあえずはこれで行くしかないなあ。何せ、古いサーバは 9月いっぱいしか使えないので。

ググってみても、同じ現象に遭ってる人はいないなあ。
この話が一番近いくらい?多分。
 ↓
http://search.luky.org/linux-users.9/msg04669.html

取りあえず、ユーザディレクトリの下に置いてある .qmail をチェックして、Maildir が指定されているものはドメインディレクトリ直下に .qmail-XXXX を作成していこうてえ。

めんどくさ・・・
PHP で作られている某社の Web サイトを、うちの古いサーバから新しいサーバに移動したのだが、そしたらデータの登録画面で

Warning: mktime() expects parameter 1 to be long, string given in ~

なんつう Warning が発生し始めた。

ま、Warning なので、そのまま処理は進んでいるようなのだが、どうもデータ的にはボロボロになっているようで、本来表示されるべき場所にデータが表示されない。でも、同じデータをもう一度登録しようとすると「既に登録されています」のエラーになる。
日付が正しく入ってないので、検索条件からこぼれてるんだろうなあ。
(他人が作ったソースを追っかけるのは面倒くさかったので、DB の中身は確認してないけど。)

日頃 PHP を追っかけてないのでよくわからないのだが、ググってみると、どうも mktime の仕様が途中で変わり、パラメータの空値を許さなくなったためのようだ。

確かにソースの該当箇所を見てみると、

$date = mktime($hh,$mm,00,$month,$day,$year);

となってるんだけど、ソース中を調べても $hh には何の値もセットされていない。空値が渡されている。ここを試しに

$date = mktime(00,$mm,00,$month,$day,$year);

とかすると Warning は出なくなるので、やはり空値が問題のようだ。

PHP のバージョンは、古いサーバが 5.0.5、新しいサーバが 5.2.6。どうも、5.1.0 辺りで結構関数の仕様変更があったようなので(あくまで「ようなので」ですが(^^;)、やっぱその影響かなあ。

つーことで、この PHP プログラムを作成した会社に、お客さん経由で「新しい PHP のバージョンに対応した修正を行ってくれ」と依頼したんだが拒絶されたらしい。(^^;
おいおい・・・(^^;

旧サーバはあと2週間くらいで停止させるので、うちの方で直すしかないか・・・
やれやれ・・・(^^;

取りあえず、第一引数が空値なら date(H) をセット。第二引数が空値なら date(i) をセット・・・みたいに直してみればいいかな。

今、ざっと grep してみたら、mktime を使ってて、尚かつ引数に空値をセットしそうなソースが 11本あった。

他人が書いた PHP ソースを 11本も見るのは疲れるのお・・・(^^;

以前にも書いたが、某社がデータセンターでのハウジングサービスを止めるので、うちのサーバも含め、8~9月はまさにサーバ移行ラッシュである。

で、今日も1台サーバ移行作業を行なった。

レンタルサーバ間の移行ではなく、実機を移動するのでそこそこ大変である。
それに、InternetExplorer の「狂った仕様」にも振り回されたし。(是非、今後の動作確認は Firefox だけで行わせてほしい(笑))

090909_153626.JPGつーことで、移行作業終了後に遅めのランチとなったのだが、疲労回復のため(笑)、いつもよりリッチに Royal Host のスパイシーグリルメニュー「大粒ホタテのミックスグリル クリーミィーカレーソース」のAセット 1,580円(税込 1,659円)なのである。
しかも、FREE の小瓶を付けたので、2千円オーバーである。

Royal Host のメニューを「リッチ」と言ってしまう社長ってどうなのよ!?(^^;
いや、しかも、お客さんに奢ってもらったし・・・(^^;

さて、さて、来週にかけてまだまだ大物が残ってますぜ。

ま、改めてサーバまわりの勉強にもなるので、疲れはするし、いやな汗もかくけど、ちょっと楽しい気持ちもあったり、なかったりであります。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちお仕事カテゴリに属しているものが含まれています。

次のカテゴリはお店です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら