ANIME LOCKERで欲しいファイルを見つけやすくするプチハック

ANIME LOCKERは非常に便利なのですが録れたMP4をiPhoneにつっこんで出かける際、ファイル名が若干不満でした。SambaやDLNAのフォルダ構成はこんな感じ。animelocker

「01-全録画」に全てのファイルが含まれるんですが、実は階層がかなり深く、01-全録画 -> 2016 -> 11 -> MP4HDと掘り下げてようやくMP4のある階層です。しかも最近録画された分をもって出ようとした時、月始めなんかだと複数のフォルダを2階層戻って開き直さなければなりません。そしてファイル名も「1109-0135_夏目友人帳 伍_6_音無しの谷_HD_383044.MP4」みたいにかなり長い上、先頭に放送日時を示す数字が来るので、iPhone上(おやゆびでお上)でのソート順が放送順になります。個人的には番組別にしたいのです。さらに個人的な事情ですが、同居人がキーワード予約で録るバラエティ番組なんかもズラーっと並ぶので、当期追いかけているアニメだけ拾ってiPhoneにコピーするのがひどく面倒くさいのです。

「02-アニメ自動録画」から辿るとキーワードやEPG録画のものは表示されず、かつ番組毎に整理されててヨサゲなんですが、これも階層としては、02-アニメ自動録画 -> 01-あ行 -> 05-お ->4288-Occultic;Nine -オカルティック・ナイン- -> MP4-HDまで掘る必要があります。複数の番組から最新録画を拾うのは骨が折れます。

実はこれらのフォルダ内の動画ファイルは内部的にはシンボリックリンクで構成されています。実態となるファイルは別のところにあり、それが複数の検索方法(フォルダ分類)から辿れるように、あちこちにリンクを貼っているのです。複数のフォルダに同じファイルが見えるものの、ディスク上で個別に容量を食ってるワケではありません。iTunesのスマートプレイリストみたいなものを想像してもらうとイメージしやすいかも知れません。で、だったら自分のルールで必要なファイルだけが集まっている仮想フォルダを作れるんじゃね?ってことで、簡単なPHPスクリプトを作って見ました。

基本的な動作は01-全録画の指定月(指定がない場合は当月)のファイル一覧を取得し、キーワード録画のものを除外。次に、アニメ自動録画で録ったファイルのファイル名を正規表現置換で先頭の数字と末尾の数字を削除し、サブタイトルを「」で囲むというリネームを施します。また話数はソートした時に10話が2話より先に来ちゃわないように1桁話数は0をつけて2桁にしています。こんな感じ。

  • 加工前:1109-0135_夏目友人帳 伍_6_音無しの谷_HD_383044.MP4
  • 加工後:夏目友人帳 伍_06「音無しの谷」.MP4

これを、上記スクショのSamba/DLNAフォルダ下に「99-お好み」なんてフォルダを掘って、そこにシンボリックリンクを作る感じ。これで最新のアニメMP4がさっと一覧して抜き出せるようになりました。

これをcronで定期的に実行すれば、常に最新状態が保たれるんですが、面倒くさかったのと、都度追加分を目視で確認できた方が便利かと思って、いまのところブラウザ経由で手動で叩くようにしています。

ここにおいときます。

https://github.com/do-gugan/animelocker_mymp4

メールサーバーをOffice365にして25番ポートを閉じた話

先日プロバイダから、「お宅のIPから迷惑メールが送信されています」と注意が。ちょいちょいオープンリレーのテストはしてるんだけどな。ただ先々週くらいにOSX Serverのmail.cfを手書きで直したことがあって、とりあえずそれを元に戻した。OSX Serverだと基本的にそんなにいじる要素ないのと、その手書きで直した理由というのが、iOSのOutlookアプリから送信ができない点だったり、先日もサーバーHDD故障でメールが普通になったり。そろそろメールとかいう前世紀的な手段で仕事のやりとりをするの辞めたいと思いつつも、まだまだメール添付でファイルをドカンドカン送ってくるクライアントも多く…

ってことで前々から検討だけはしていたクラウド化を決意。真っ先に思いつくのはGoogle Apps for Works。1ユーザ500円/月で、DNSサーバーのMXレコードだけGoogleに振り向けるだけでメールをホストしてくれる。Gmail的なWebメールも使えるし、もちろんIMAPやPOPでアクセスも可能。せっかく自サーバーがあるのに(しかもできれば卒業したいメールシステムなんぞに)今後月500円、年6,000円をずっと払い続けていくのは業腹とか思ってなかなか手が出なかったんです。

が、ふと気付いたのはOffice365でも同様のサービスがあること。Office365はデスクトップ版Officeを多数のPCで安価に使うために契約していたので、グループウェアサービスについては完全スルーだったんですよね。1TBもあるOneDrive for Businessすらロクに使ってなかった(^^;)。しかしこれも独自ドメインでのメールホストができるのを発見。これならもともと購読してる料金内でメール使えるじゃん!ってことで導入を決意しました。

■DNSサービス自体を丸投げするか否か

Office365で独自ドメインのメールをホストしてもらうには、DNSの設定に2通り。

  • DNS丸投げ
  • MXレコードなど必要なレコードを自前DNSサーバーに登録

現在DNSサーバーもOSX Serverで自宅ホストしているので、自宅サーバー/ネットワークが落ちてもメールが受信できるように、とするなら後者ではあまり意味がないんですが、Office365のDNS管理機能がどんなものかいまいち情報が乏しくて様子見。IPv6レコードも扱えるのかとか、自分で好きなレコードを追加できるのか、とか。どうも説明読んでると既存Webサービスがある場合は転送が必要的なことが書いてあるので、MX以外を自宅に向けるとかできないんじゃないか、とか。

ということで当面は自宅DNSを継続し、セカンダリーを外部サービスに委託する方向で。

説明手順に従っていくと、MXレコード以外に、Skype for Businessなどに関するSRVレコードやTXT、CNAMEの登録が必要でした。ただまぁ後で書きますがSkype for Businessは当面使わない方向で、不要といえば不要でした。Office365側の設定ウィザードでDNSレコードを状態を調べてくれて修正が必要な部分は教えてくれる親切設計でした。Skype周りなど無視すると決めた場合は警告を抑止することも出来ます(個別でなく全体で)。

OSX ServerのGUIは基本的なA、CNAME、MXなどは扱えるもののTXT(SPF用)やSRVはちょっと問題。TXTはAレコードのTXT欄に書き込むといいみたい。SRVはいけそうなGUIがあるものの上手く保存されず、結局手書きで /Library/Server/named/db.(ドメイン名) に書き足しました。その後でGUI(Server.app)でみるとちゃんとSRVレコードとして表示されました。以前足したものも見えてるので、一応OSアップデートなどしても維持されるかな?これは追々注意が必要です。ただまぁSRVレコードはSkype for Business関係なのでいきなり無効になっても(ウチでは)あまり困らないかな?

■結局無料では済まなかったorz

これは個人的なプラン選択の事情なんですが、結果的に既存購読プランではメールが使えませんでした。σ(^^)はお一人様Office365ユーザで、今年からAccess欲しさでProPlusというプランを購読しています。これとは別ユーザ名を付くってBusiness Premiumも。これで10台のPC/MacにデスクトップPCをインストールすることができます。実際は7台くらいしか使ってないんですが、まぁ5台では足りないので仕方なく。で、ProPlusの方を自分の名前にして使ってたんですが、なんとこちらにはメール機能が含まれていない…設定後どうしてもWebメールにログインできず、一晩悩んだ末に気付きました。Business Premiumなら含まれてるんですが、別の架空ユーザに紐付けてあるので入れ替えが面倒そう。

チャットサポートに連絡して得た選択肢は、Business Essentials(540円/月)かExchange Online Plan1(440円/月)を追加購読して既存ユーザに紐付けるということ。どっちにしろ、Google Appsでケチってた数百円の追加出費が発生するじゃん!

んー、ProPlusユーザにEssentials権を重ねがけできるなら、Business Premiumも可能?そもそも架空ユーザを作る必要なかった!?架空ユーザのメール利用権が無駄になってる形。でもまぁいい加減疲れてて時間もなかったので、とりあえずExhange Onlineを年間一括で払ってしまいましたとさ。今下手にライセンス割り当てをいじって、実家のPCとかにも影響が及ぶと面倒なので。今度の更新の時にまた真面目に検討しようかと。

■使用感は良好

正常に使えるまでにはもう少し苦戦しました。まず相変わらずブラウザでoutlook.office365.com(またはmail.office365.com)にログインできず。これはキャッシュの問題らしく、ブラウザをプライベート(シークレット)モードにして一度ログインしたら、以降は普通に使えるようになりました。

またIMAPの設定はThunderbirdの場合、独自ドメイン名を入れるときちんとMXレコードを調べてOffice365の設定を自動で入れてくれるんですが、これではログインできず。こちらにあるサーバー設定を手入力する必要がありました。またモバイルアプリの設定ではOffice365ではなくExchangeサーバーとしてログインする必要がありました。

そんなこんなでようやく動くように。自宅でiOSアプリからスワイプ削除する時など、たまーにレスポンスの低下を感じますがそれ以外はいまんとこ良好です。

ただOSX Serverからのメール移動は保留中。先日古いLinuxサーバーのmbox形式のIMAPフォルダを頑張ってMailDirに変換してOSX Sererにとりこんだばかりなのに…。どうやらOutlook形式に変換した後にもってく必要があるっぽいです。メーラーからIMAPフォルダ間移動で移してもいいんですが、試しにInboxなど優先度の高いフォルダを移したところ結構時間がかかったので、これも悩ましい。フォルダが少なければそれでいいんでしょうけどウチはもういるんだかいらないんだかわからないようなのも含め結構な数あるので、いちいち判断するよりはなにかしらバッチでもっていきたいところです。

とりあえず自宅のOSX Serverから送信することはなくなったので、25など送信系のポートは閉じ。最初に独自ドメインとった時から自鯖運用だったのでちょっと感慨深いです。

Mac mini Serverの不調とSSD換装メモ

本ブログもホストしているMac Mini Server  2011が不調で、SSD交換を敢行しました。

不調の現象としては、

  • 異常な速度低下(シャットダウンに30分とか。CPUなどの利用率はさして高くない)
  • 外部のサーバー稼働チェッカーで日に何回か数分程度のサーバーダウンが記録される
  • ファイル破損(OpenLDAPのDBが壊れてユーザ情報が消えたり)
  • Mac AppStoreにアクセスできない(グルグルのまま。El Capitainリリース当初に話題になった証明書修正は効果無し)

など。1番目なんかは特にSSDっぽいなぁと。ただMac AppStoreにつながらないのでベンチアプリとかも入れられず。搭載SSDはCrucialのM4/128GBで有名な0309アップデートは適用済み。ただし最新ファームでもない、という状態。これも更新を試みるもUSBでブートできず。どのみち容量も逼迫していたのでこの機会に10年保証を謳うSAMSUNGの850PROに。容量はとりあえず倍の256GBで。

また換装の直前にも色々やっていて、

  • OpenLDAPのDBをTimeMachineから復元
  • 初期設定ウィザードを強制再実行してadminユーザを再作成(ただし最後まで進まず)
  • NVRAMリセット
  • リカバリーモードからのFirstAid

実際にはどれが効いたかは不明です。

換装手順は先に物理交換。購入当時にやってるはずがもう完全にバラし方を忘れてて、ネットで手順をググりました。850Proを内蔵させ、取り外したM4をUSBケースにいれて接続。Optionキーを押しながら電源を入れると、M4側のリカバリー領域が見えるので、それでブートしてEl Capitainのクリーンインストールを実行。直接TimeMachine復元もできたけど、なんとなく。インストール完了後のウィザードの中でTimeMachineからの復元を実行。異常な速度低下は起きなかったので、やはりハード要因ではなかったのかな?なんとなく気になったのは、SSDコネクタをはずす時に若干緩んでた気がする点。まぁいまとなっては確認しようがありません。

TimeMachineからの復元後に驚愕したのは、Webサーバーやメールサーバーのデータが移ってない。移ってないところか手動でTimeMachineに入っても当該ディレクトリにデータがない。なんとTimeMachineではバックアップされていなかった!?わざわざ除外していたとは考えにくいんですが、、、いままでTimeMachineがあるさ、と暢気に構えてたけどあぶないあぶない。今回はM4からコピーで事なきを得たんですが、これどういうことなんでしょうね?再度TimeMachineセットアップをして様子をみたいと思います。なんか他のバックアップ手段も併用した方がいいのかも知れません。

とりあえず今のところ順調に動いてる気がします。adminユーザも復活。ただそのデスクトップでSafariとか使う度にKeyChainのエラーが出て、毎回「リセットしますか?」的なダイアログが出ます。これも追々調べないと。

ともあれ、やたらレスポンスが落ちることがあった当ブログがこれで健全化するといいなぁ。

Steamの画面共有端末STEAM LINKを試す

まだ記事書いてないですがOculus Rift CV1の為にアップグレードしたGeForce GTX1080の実力をより活用したくて、Steamの3Dゲームを何本か購入しました。PS4でハマっていたThe Divisionやサマーセールで安かったTRANSFORMERSなど。

で、やっぱり大画面でやりたいなと思っていた折、Steam自身が出しているSTEAM LINKというデバイスを発見。

STEAM LINK 並行輸入品

STEAM LINK 並行輸入品

24,000円(11/27 15:14時点)
Amazonの情報を掲載しています

PC側でエンコードした画面データをネットワーク経由で受けてHTMIに出力。逆にUSB端子からの操作情報をPCに返す、というシロモノ。ゲーム用として開発されているので1080p/60Hzでストリーミングできることを特徴としています。コントローラーとしてはLogicoolのF710やXboxOneコントローラーが使えます。

ネットワークは有線と11ac。ただ有線を強く推奨、としています。我が家ではルーターからリビング周りは有線化してますが、PCのある仕事部屋は11ac/1734MbpsのWi-Fiのメディアコンバーター経由。そのせいか、残念ながら充分なパフォーマンスは発揮できませんでした。判定としても不十分と出ますし、盛大にコマ落ちしたり720pに落とされたり音声が遅れて聞こえたり。ちょっと実用に耐えない感じです。いつかネットワーク環境が整うまで封印となりそうです。

P.S.

PS4とPC版のThe Divisionですが、やはり30Hzと60Hzは違いますね。解像度もLGの34インチ超ワイド3440×1440なのでフルHDよりも細かいのですが、それよりも動きのヌルヌルさが際立ちます。処理落ちなどは感じません。4Kは1080でも厳しいとなにかで読みましたが、3440×1440ならどうにかなるんですかね。

Synology DS1511+のHDDが二台同時に逝った時の復活記録

去る4月頃、2011年からWD GREEN 3TB x 5発で稼働していたRAID5(正確にはSynology Hybrid RAID)アレイがかなりのピンチを迎えました。もともとDisk3とDisk4でエラー警告が出てたんですよ。正確にはDisk4は一度出た切りでその後あまり出なくなり、Disk3だけが定期的にバッドセクターを吐いてました。で、とりあえず替えのWD RED 5TBを調達したものの、普通に使えてるし最悪RAID5なのでいきなりDisk3が完全に動かなくなってからでも遅くはないだろうとか、横着心が勝って放置してました。(ちなみに2014年頃にも一台のHDDが再起動というか一度止めてコンセント移設した後のブート時にクラッシュ。同じ3TBに交換してます)

春めいてきてサーバー周りの室温も上がってきたなぁ、という折り、DSMの自動更新が振ってきて再起動。そのままピーピー音が出て起動不能に。「あー、ついに逝ったか。しかしこんな時の為にスペアディスクは買ってあるぜ」とばかりにDisk3を交換。無事に起動しRAIDのリビルドを始めました。ところが今度はその過程でDisk4がエラーでRAIDアレイがクラッシュとの表示。リビルドはディスクに連続アクセスをするのでその負荷でもともと予兆のあったDisk4もいったんでしょうか。もしくはたまたま普段アクセスしないので顕在化してなかったバッドセクター領域に、リビルドだけにアクセスが及んで発現?ともあれRAID5なので1台までは死んでも復旧可能ですが、2台同時に死んだらアウトです。一応、以前にDS215jを実家に置いて遠隔バックアップはしているので、大事なデータは保全できるのですが、バックアップ対象にしていない領域もあるし、手間もあるし(遠隔リカバリは転送量が大変なことになるので、実家からDS215jを運んでこないとならない)、(ノ∀`)アチャーという感じ。

クラッシュ後にディスクをリマップする的なチェックボックスをONにして再起動すると、延々ディスクチェックというか修復は走ります。数時間放置しておくとまた起動してきてリビルドをするとこれまた数時間でピーピー鳴り出してRAIDクラッシュ。延々この繰り返しです。2,3日かけて数回位返した後、ラチがあかないってんでサポートに連絡。Synologyのサポートはなんとポート開放しておくと中の人が直接SSHでログインして診断してくれます。最悪、Disk4でバッドセクターでているところのファイルは復旧できなくてもそこだけDS215jから引っ張ってくるので、そこだけ回避してなんとかRAIDのリビルドを完遂させることはできないでしょうか?というお願いの仕方をしてみたんだけど、そこはあっさりスルーされて、「こりゃ治らないんで、HDDを市販のデュプリケーターツールで複製してそれを代わりに刺してみて」という至極一般的な結論を言い渡されました。

ただ、それをしようとすると3TBのディスクがもう一台必要に。まぁ、最終的にはそれもやむなしと思いつつ、もう少しなにかできないかとバッドセクターの復旧で検索してみると、HDD Regeneratorというオンラインソフトに行き当たりました。文字通りバッドセクターの回復ツールで60%の確率で直せると謳っています。いくつか日本語のレビュー記事もありさほど怪しそうでもないので導入。1セクタだけ修復できる試用版もありましたが、何度もやるうちにHDDが本当に死んだらその方が痛いので、最初から料金(当時のレートで1万円くらい)を支払ってフルバージョンで。Windows上でも実行可能ですが、USBメモリに専用ツールを焼いてブートして実行。ちなみにSATAモードをIDE互換モードにしておかないとパフォーマンスが大きく低下することがあると注意書きされていました。またリビルド同様HDDに連続的な負荷がかかるので発熱でとどめをささないよう、12cmファンの風をあてながらやりました。最初ファンを上においてたんですが「微振動がHDDに良くないんじゃね?」という指摘を受け適当な台を用意したり。

IMG_8039

結果として写真のように9時間半かけて305のセクターを修復。これをDS1511+に戻してリビルドしたところなんと完遂!もちろん継続利用はさすがに恐いので、もう一度、今度はあえてWD以外にしてみようということでHGSTのDeskstar NASの5TBをゲットして、再びDisk4を交換してリビルド。Synology Hybrid RAIDなので、2台で2TBずつ増えた分でRAID1を組んで全体のアレイを拡張するところまで自動でやってくれました。またおいおい残り3台も5TBかそれ以上のドライブにリプレイスしていこうと思います。

予算の関係で5TBを選びましたがプラッター的にハンパなのかどこもあまり在庫がなくちょっと困りました。もうちょっと奮発して6TBにしとけばよかったかな?

ともあれ1,2週間かかりましたがどうにか完全復旧できました。実は実家に寄るついでがあったのでDS215j持って来ちゃってたんですが結局使用せず。後日また愛知まで設置しに帰省したりで、HDD代も含めると結構な出費に…まぁ、でもまだまだ現役で働いてくれそうなので喜ばしい限りです。SynologyいいよSynology。オススメです。あとHDD Regeneratorも。救えるケースばかりとは限りませんが、体験版は試して見る価値あるかも知れません。

実はほぼ時を同じくしてWebやメールサーバーであるLinux機も10年以上つかってるHDDがついにダウンしてまた苦労した(してる)んですが、それはまた別記事で。室温があがってくるとなにかと不調になりやすいので皆様もバックアップや冷却にはくれぐれもお気を配りくださいませ。