データの移動の為に過去に転送した時以降に更新されたファイルをアーカイブするスクリプトを書いた。
きちんと動作することは確認できたのだけど、いざ実行するとかなり処理時間がかかってしまう、、、、、、、
これはfindコマンドが検索結果を毎回lhaに渡し、その度にlhaがアーカイブファイルのバックアップを取るためと思われる。
lhaに一括でファイル名を渡すことが出来ればバックアップを取らずに処理されるので、もっと処理速度を上げられる筈なのだがその手段が今のところ分からない。
なので、今日はこのままサーバに処理をさせたままにして引き上げることにした。
明日の朝には処理が終わっていることを期待しよう(汗)。
More from: 仕事
正確には-fぢゃなかった(汗)
昨日からfindコマンドのオプションについて書いているけど、”-f”というオプションではなく、”-type”オプションに”f”というパラメータを渡すことで、ファイルのみの検索が可能になるということだった。
自分では-typeオプションを使っていながら、ここの記事に書くときに取り違えていたという・・・・・・・・
先の記事の使用例にもちゃんと”-type f”と書いているにも関わらずタイトルには”-f”オプションって書いている。
なにを勘違いして書いたかなぁ?
“-f”オプションで
昨夜書いたけど、findでファイルのみを検索する場合は”-f”オプションを付けることで解決した。
ついでに”-exec”オプションでlhaを実行させて検索されたファイルだけをアーカイブすることも出来た。
これで差分のアーカイブが簡単に出来そうな気がしてきたよ。
ただなぁ、検索対象のディレクトリ(というかファイルシステム)が結構あるんだよなぁ、、、、、、
しかも転送と受け側での展開は未だに手動で実行するので、完全自動と言うわけにはいかないのが辛いとこだ(汗)。
結局
find . -mtime -3 -and -not -name \*.zip -not -name \*.lzh -not -name \*.bak -type f -exec lha a hoge.lzh {} \;
のようなコマンドを実行して、3日前以降に更新されたファイルで拡張子がzipとlzhとbak以外のファイルをhoge.lzhに固めるようにした。
“-f”オプションだったのか・・・・・・・
findコマンドの結果にディレクトリが出てくるのは除外したいと先の記事に書いたけど、”-f”オプションで”ファイルのみ”の検索が出来るらしい。
今は自宅のLinuxPCの電源を落としてしまったのですぐには検証できないが、明日職場で早速試してみよう。
うまくいけば差分を抽出したい全てのディレクトリに対するスクリプトを書くことが出来るかも(汗)。
そうなれば随分と楽になるなぁ。
差分を取るのがちと面倒
先日から行っているデータの転送は大きなデータを纏めて転送するのは今晩でひとまず終わりそう。
なので、今日からは前回転送後に更新されたり追加されたりしたファイルを抽出してアーカイブする作業を始めた。
更新されたファイルを探すにはfindコマンドを使えば出来る。
#find . -mtime -2 -print (カレントディレクトリ以下で二日以内に更新されたファイル及びディレクトリ名を出力する)
ところが上記のようなfindの出力をそのままlha等に渡すとディレクトリが更新されている場合にその中のファイルが全て対象になってしまうので、今のところfindの出力をテキストに吐き出してから手作業でファイル名を抜き出してlhaで圧縮している。
これに意外と手間がかかるので、なにか良い方法が無いかと思案中。
上手い方法が見つかればスクリプトでも書いて自動で処理させるんだけどなぁ、、、、、、、
よし!帰ろう!
2GB弱のデータの転送を始めたので、終わるまで見ないで帰ってしまおう。
さっき270MB程度の転送に7分位かかったから、2GBだとその8倍弱かかる計算になり、終わるまで1時間弱も見ているのは辛い。
今日は帰ったらAGEを見た後でニャル子でも見て寝ることにしよう!
今日も圧縮中
今日もデータを移動するためにzipにて圧縮中。
圧縮対象が約1.7GBあるので、このままにして帰るつもり。
今回は2GB未満なので、明日の朝には終わっている筈(汗)。
こんな物まで出てきた
片付けた荷物を再度出していたら、VGAコネクタの変換用コネクタが出てきた。
変換と言っても最近のアナログ15ピンからDVI-Iへの変換や、DVIからHDMIへの変換とかではなく、D-SUB15ピン3段からD-SUB15ピン2段への変換コネクタ。
D-SUB15ピン2段って、昔PC-98シリーズが採用していたコネクタで、今回出てきたのはPC-98シリーズの本体にAT互換機で採用されているD-SUB15ピン3段のケーブルを接続するための変換コネクタ(2段のほうがオスで3段のほうがメスになっている)。
確かに以前は仕事でPC-9801を使っていたので、その頃に買ったディスプレイ(CRT)に付属して来たものだと思うけど、よくとってあったなぁ(笑)。
まぁ、今となっては使うことも無いとは思うけどね。
少し落ち着いたかな?
今日はいくら探しても見つからなかったプロバイダの接続情報が見つかってとてもラッキーだった。
この情報が見つからなくてここ数日胃が痛くなる思いだったので、解決できて凄く気が楽になった。
これで明日の回線切り替えに間に合いそう(汗)。
さて、今日は切り上げて帰るとしようかな?
今日は昼間から天装ならぬ転送開始(汗)
昨日に引き続き今日も大量のデータの移動をしている。
本当は昨夜の内に大量のファイルのアーカイブが終わっているはずだったのだが、今朝端末を見てみるとファイルサイズオーバーで処理が中断していたorz
なので、ディレクトリ単位で一から圧縮処理をやり直したのだけど、まぁー時間のかかること(笑)。
それでも合計で6.5GBのファイルを複数のアーカイブファイルに纏めることができたので、ちょこちょこと転送を始めてしまった。
アーカイブファイルの中には数MBのものから2GB弱のファイルまで十数個のファイルがあるが、ファイルサイズが300MB以下のファイルだけを転送した。
さすがに昼間にGB単位のファイルの転送は憚れるので、これら大きなファイルは後日転送する予定。
それにしてもzipで扱える最大のサイズが2GBなので、du -kの結果が2.5GB程度になったディレクトリの圧縮が終了したときはほっとした。
