2020年08月01日
_ [computer] QNAPからSynologyへのデータ移行と、勝手に作成されたファイルの削除
ヘリウム充填HDDの12Tx2のSynologyDS220+がセットアップ完了しましたので、早速6Tx2のQNAPからデータを移す事にしました。やり方は、前回と同じ様に、sshで接続して、rsyncでコピーします。
前回NAS間でデータを色々移動した時に、QNAP側のrsyncは問題が有る事が判っていますので(コピー終了時にエラーが出る、既に直ってるかもしれないけど)、操作はSynology側から行う事にしました。以下の様なコマンドになりますね。
> rsync -avn (user-name)@(IP-Adress):/share/Public /volume1/public
この様に、まず"-n"のオプションを付けて、実行を確認したところ、最初に".streams"と言うディレクトリがあって、その中にファイルが多量に出てきました。(最初、エラーメッセージかと思いました)ドットから始まっていまして、通常windowsなどからQNAPの共有を開いても見えませんが、rsyncの対象になりますし、Synologyにコピーされると見えます。調べた所、QNAPが作る設定ファイルの様です。コピー後は全く必要ないのですが、これだけ省くのも面倒なので、そのままで"-n"オプションだけ外して、コピーを実行しました。
その後、実行を暫く確認してから、ターミナルを終了させましたが、どうやらssh接続のターミナルを終了させると、rsync自体も終了してしまうみたいです。Synologyからは前回はGateOneを使ったので、そんな心配は無かったのですが。前回その他の機器でのrsyncでは、"&"でバックグランドジョブにしたのかもしれません、、あまり憶えていないのですが。
夜に始めて、翌朝順調にコピーが継続されているのを確認しましたが、内容を見てみると、ディレクトリごとに".@__thumb"なるサムネイルを集めているディレクトリが有る事に気がつきました。調べてみると、QNAPの新しいファームウェアが勝手に作ったサムネイルとの事です。
「何でそんな事、デフォルトで勝手にするかなぁ?!」
私は、ソフトが裏で勝手に作業されるのが大嫌いです。先の".streams"以下のファイル群に続いてこれです、QNAPへの信頼は失墜しました、今回Synologyに変更になって良かったです。(このNASは別の場所で使う予定ですが)
1日半少しでコピーは終わりました。最後に、多量に作成されている、邪魔な".@__thumb"ディレクトリを消しておかなければなりません。".streams"ディレクトリは手で消しましたが、こちらはディレクトリごとに出来ていますので、一々やっていては本当に日が暮れます。拝見したHP上では、findとxargsを使って、
# find ./* -name ".@__thumb" -type d | xargs rm -rf
以上に様に消すやり方がのっていましたが、当方では上手く行きませんでした。xargsにエラーメッセージが出ていまして、原因はfindの出力の文字コードの問題のようです。仕方が無いので、他の方がやられていた方法を採りました。
# rm -rf ./*/*/*/*/*/*/*/.@__thumb
と、この様なコマンドで、"/*"のディレクトリ階層を減らして実行するのです。この方法は、実に私などには思いつかないコマンドで、感心しました。
ある領域のすべてのファイルについての操作は、普通先の例のように、findで見つけてそれをパイプで受け渡して操作するのが、誰しも考える事です。それがうまく行かない場合、中間で更に何かの操作(例えばsedとかで)を更に加えると、大概出来ない事は無いでしょうが、コマンドが複雑になります。最後が"rm -rf"なので、もし誤動作すると危険です。エキスパート以外は、ちゃんと思い通りに動作するか、どうしても確認が必要ですので、結局時間がかかります。このコマンドは、階層分実行する必要こそありますが、直感的でより簡便です。
しかし、"rm -rf"は、実際よく使うコマンドなのですが、他方、unixコマンドのなかでも最高に危険なコマンドなので、流石に文末のCRキーを押す時は、何度も確認、そしてまた躊躇しました。