More from: サーバ

なんで消すかなぁ?

仕事で客先に作業に行かせた部下からの報告に、サーバ上の特定のディレクトリが無くなっていると言うのがあった。
そのサーバ上にはユーザーが自由に使える領域を用意してファイルサーバとしているのだが、今回無くなっていたのはPC上のアプリが必要とするデータで、各PCから共通のデータを見る必要があるのでファイルサーバ上に置いてあったものだ。
ところが、ファイルサーバ上のディスクの空き容量を見るとかなり逼迫しているので、空き領域を広げるためにユーザーが消してしまったらしい。
仕方が無いので、別パーティション上のファイルシステム上にデータを送り、そのディレクトリにシンボリックリンクを張ることでデータをPCから見えるようにしたが、また消されるんじゃないだろうなぁ、、、、、、
そのデータが無いとアプリを使うことが出来ないのだが、誰も気にしていなかったようなので、そのアプリは使われていないようだ・・・
今度消されたらしばらく放置しておこうかな?

←クリックしてくれると嬉しいです。

FAXの移転が出来ない・・・・・・・

職場のFAXサーバを別ハードに移転するのだけど、載せているFAXサーバソフト(Ridoc Document Router)のデータの移行について思いついた手段が使えるかメーカーに問い合わせたら、
「出来ません」
の一言(涙)。
SQLサーバ(MSDE)を使っている関係で実データ(tiffとサムネイル用のjpeg)を単純にコピーしただけではダメと言うことは経験していたが、クライアントの機能を使ってもサーバー間でのデータコピーは出来ないことが判明・・・・・
残された手段はコピー元のサーバで全データをバックアップして、そのバックアップデータをコピー先のサーバに移し、そこでレストアするか、TrueImageのようなツールでHDD全体をコピーするかのどちらか。
全くのクローンを作るのであればHDD全体をコピーすれば手っ取り早いのだけど、今回はそうはいかないので結局「バックアップ→レストア」の手段を取るつもり。
でもデータ量がメーカー曰く「かなり多いですね」とのことなので、「時間がかかりますよ」と言われてしまった。
とはいえ一晩掛けてでもデータをコピーしなくてはならないので、近々やってみるつもり。
さぁて、どれくらいの時間がかかるものやら・・・・・・

←クリックしてくれると嬉しいです。

昨夜の処理は終わっていたけど(汗)

昨日書いたスクリプトは無事に動作して、今朝見ると更新されたファイルだけをアーカイブすることに成功していた。
なので、それらのファイルを転送して展開することで更新されたファイルを新しいサーバに移すことは出来た。

ところが、同じ処理を毎日実行させようとしてスクリプトをコピーして多少手直ししてcrontabに登録しておいたのだが、こちらが動作していなかったorz
原因は単純で、なんとスクリプトのファイルに実行権限が無かった・・・・・・・・
コマンドラインからそのまま実行しようとして始めて気付くという(爆)。
慌てて
chmod +x スクリプト名
で実行権限を与え、さらにスクリプト内で使用している各種のコマンドの記述をフルパスに修正した。
以前コマンドラインからは実行すると動作するのに、crontabに登録すると動作しないことがあり、その時はコマンドパスが通っていないことが原因だったので、今回も同じことが無いようにしたということ。

最近は滅多にスクリプトを書くことも無くなったので、僅か数行のスクリプトを書くだけで苦労してしまった・・・・・・

←クリックしてくれると嬉しいです。

スクリプトは書いたけど・・・・・・・・

データの移動の為に過去に転送した時以降に更新されたファイルをアーカイブするスクリプトを書いた。
きちんと動作することは確認できたのだけど、いざ実行するとかなり処理時間がかかってしまう、、、、、、、
これはfindコマンドが検索結果を毎回lhaに渡し、その度にlhaがアーカイブファイルのバックアップを取るためと思われる。
lhaに一括でファイル名を渡すことが出来ればバックアップを取らずに処理されるので、もっと処理速度を上げられる筈なのだがその手段が今のところ分からない。
なので、今日はこのままサーバに処理をさせたままにして引き上げることにした。
明日の朝には処理が終わっていることを期待しよう(汗)。

←クリックしてくれると嬉しいです。

“-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未満なので、明日の朝には終わっている筈(汗)。

←クリックしてくれると嬉しいです。

今日は昼間から天装ならぬ転送開始(汗)

昨日に引き続き今日も大量のデータの移動をしている。
本当は昨夜の内に大量のファイルのアーカイブが終わっているはずだったのだが、今朝端末を見てみるとファイルサイズオーバーで処理が中断していたorz
なので、ディレクトリ単位で一から圧縮処理をやり直したのだけど、まぁー時間のかかること(笑)。
それでも合計で6.5GBのファイルを複数のアーカイブファイルに纏めることができたので、ちょこちょこと転送を始めてしまった。
アーカイブファイルの中には数MBのものから2GB弱のファイルまで十数個のファイルがあるが、ファイルサイズが300MB以下のファイルだけを転送した。
さすがに昼間にGB単位のファイルの転送は憚れるので、これら大きなファイルは後日転送する予定。
それにしてもzipで扱える最大のサイズが2GBなので、du -kの結果が2.5GB程度になったディレクトリの圧縮が終了したときはほっとした。

←クリックしてくれると嬉しいです。