2010年から2015年まではてなダイアリーで更新ししていたブログです。
現在は「パンクはいつも突然に」に統合して更新しています。

MyDNSの更新をPHPで

 ValuedomainのDNSサーバからの伝播が遅いので、MyDNSにもユーザー登録してみた。ValuedomainのDNSサーバ設定画面で、Valuedomainの5つのサーバもそのまま残してMyDNSの3つのDNSを追加。

 ddclientがエラーを吐く。どうやらMyDNSに対応していないような。パッチも公開されているが、すでにValuedomain用パッチを当てている上にさらに当てるのはどうも気が進まないので、スクリプト書いてみた。

<?php
$ipfile=dirname(__FILE__)."/ip.txt";
$ip_url=rtrim(file_get_contents("http://unchara.com/cgi-bin/ip.cgi")); #グローバルIPアドレスを表示するcgi
$ip_last = rtrim(file_get_contents($ipfile)); #初回はウォーニングが出る
$update_last = filemtime($ipfile); #同上
$days = 7; #IPアドレス変更がなくても更新する
if(preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",$ip_url,$ip_current) == 1){ #完璧ではないけど
	if($ip_last != $ip_current[0]){
		$message = "IP Address changed from $ip_last to $ip_current[1] .\n";
		update_dns();
	}elseif(time() > $update_last + 3600*24*$days){
		$message = "$days days has passed since last update.\n";
		update_dns();
	}else {
		echo "No need to update.\n";
	}
}


function update_dns(){ #サブルーチン
	global $ipfile,$ip_current,$message;
	$ret = file_get_contents("http://www.mydns.jp/directip.html?MID=id&PWD=pass&IPV4ADDR=$ip_current[1]");
	$message .="\n\n" . strip_tags($ret);
	$headers="From: nanchara@kazz.mine.nu\n";
	mb_send_mail("kaanchara@kazz.mine.nu","MyDNS update",$message,$headers);
	file_put_contents($ipfile,$ip_current[1]);
}
?>

 これをcronに登録して10分おきに実行。

postfixのエラー

 phpからメールを送ろうとしたらこんなメッセージが。

sendmail: fatal: file /etc/postfix/main.cf: parameter setgid_group: unknown group name: postdrop

 調べてみたら、/etc/hostsのパーミッションの問題らしい。

This will surely be a not-to read /etc/group. Use chmod.

 ownerはrootでパーミッションが600だった。パーミッションを644に変更したらエラーも消えた。
 以前は問題なかったんだが。もちろん変更した記憶もない。なんかのはずみに変わったんやろか。それと、postfixのエラーメセージ、もう少し親切にできんもんやろうか。
 cronから送っているメールは問題なく送信できているのはなぜ?と思ったが、これはrootとして送っているからだろうと気がついた。

ValueDomaniのダイナミックDNSは遅い

 大雨のせいか、朝インターネット接続が途切れていた。テレビ(J:COMのケーブル)の電波も途切れていたのでマンション自体の障害のもよう。ただ、インターネット接続はケーブルじゃなくってフレッツ光光ファイバー+xDSLなので、直接つながりはないはずなんだが。配電盤のような部分に浸水でもしたんだろうか。

 帰宅後はテレビもネット接続も復活していた。ddclientのログを見ると9時53分にIPアドレスを更新していた。Dyn.comのhttp://kazz/mine.nuにアクセスが来たのが10時23分、ValueDomainのDNS利用のhttp://kazz.redは22時を過ぎてもアクセスが来ない。おまけサービスだとはいえ、どないやねん!

rsyncでファイル名にコロンがあるとエラーになる

 クライアントPCからマルチメディア(死語)サーバへはrsyncで同期しているんだが、ファイル名にコロンがあるとエラーになる。ディレクトリはコピーできたり、できなかったり。read onlyだとかのメッセージを発している。自分から1バイトコロンをファイル名に使うようなことはしないけど、リッピング時にCDDBからデータを取ってきているので、意識していなくてもそういう名前のファイルができてしまう。

 rsyncはサーバ名とディレクトリの区切りがコロンなのでそのせいかと思っていたが、検索して出てくる「フルパスで書け」「--include '*:*'をつけろ」というような策でも解決に至らず。
recursive - rsync with colons in filenames - Unix & Linux Stack Exchange

 thunarやtelnetログインでファイルをいじってみるが、ファイルの削除もできない。VNCの画面からは削除できる。ということはsambaに原因があるんだろうと思って検索。

Uhmmm... if you have a Linux only environment, why are you using Samba? Samba is for Windows. NFS is for UNIX.

 sambaはwindowsとのファイル共有に特化しているのでwindowsの掟に従っているということか。ではということでちょこちょこと検索してNFSサーバとクライアントをそれぞれインストール。しばらく試行錯誤して動くようになった。NFSはsambaよりも簡単かも。

Amazon MP3 Downloader on wine

 結論から言うとうまく動作せず。

 インストール、起動まではうまくった。設定ダイアログは開かない。
 .amzを食わせて起動してみると、ダウンロードしようとはするが書き込みエラー。ダウンロードディレクトリ(wine上のMy Musicフォルダ)にはamazon(1).tempといった連番のサイズ0ファイルが生成されている。wine上ではうまく書き込めないようだ。

 でもいちいち手動ダウンロードしていられないのでVirtualBox上のwindows7で動かす。

 で、なんでそんな必要が生じたかというと、Amazonデジタルミュージックで以下のアルバム(?)を購入したから。100曲600円。

Jimmy Smith (100 Original Tracks - Digitally Remastered)

Jimmy Smith (100 Original Tracks - Digitally Remastered)

 とかやったのちにさらに検索していたらこんなの発見。後日テスト予定。

Clamz is intended to serve as a substitute for Amazon's official MP3 Downloader, which is not free software. Clamz can be used to download either individual songs or complete albums that you have purchased from Amazon.

DMC-GF7とM.ZUIKO DIGITAL 25mm f1.8mmテスト

 仕事帰りに京の七夕堀川会場、二条城会場で試し撮り。

 やっぱりチルトは使いやすい。あとレンズが明るいのは大正義。この組み合わせでは手ブレ補正が効かないが、しっかり構えたら手ブレは皆無。
 下の写真、ISOはほとんどが3200だけど、粗さは許容範囲。










 最後の写真はMr.Kanso二条城店にて。

mr.KANSO 二条城店

食べログ mr.KANSO 二条城店