• ベストアンサー
  • 困ってます

Solaris10ファイルコピーの失敗

Solaris10(X64)環境に於けるトラブルについて教えてください。 ある時、定期的に取っているバックアップファイル(tarファイル) が解凍できなくなっていることに気づきました。 調べてみると、解凍できないのは『比較的大きなファイルをコピー する(数Gバイト)と、コピー元とコピー先が異なる(ファイルが壊れ る。)』ことによることが判りました。 例えば、次のコマンドです。 cp /export/.../backup/2012_08_30_f.tar . cmp -l /export/.../backup/2012_08_30_f.tar ./2012_08_30_f.tar 8244928138 241 201 1.上の例で使用する『2012_08_30_f.tar』は16Gバイトの容量があ ります。 2.上の例にもあるとおり、必ず第5ビットの"1"が"0"になってしま います。これまで何度も試しましたが、例外はありません。 3.ファイルコピー実行中にコンソールウインドウや "/var/adm/messages"ファイルにエラーもワーニングも発生しま せん。 4.format -> analyze -> read コマンドによるディスクの走査も行 いましたが、エラーは見つかりません。 5.容量の小さなテキストファイルのコピーもいつも行っています が、問題が発生したことはありません。 6.このパソコンはディスクを2台使用していますが、どちらのディ スクでも同じ問題が生じるようです。 原因はディスクではなく、マザーボード、CPU、メモリなど、他の ハードウエアにあるのではないかと考えていますが、全く調査方法 が判りません。 皆さんのアイデアをお寄せください。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数872
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3

No.1 , No.2 です。 回答ありがとうございました。 ちなみにですが、tarコマンドを使用して書庫化する時に、ディレクトリ名指定ではなく、ファイル名指定にしてみてください。 理由は、ディレクトリ名指定の場合(もしくはワイルドカード指定等の場合)、そこで対象となったファイルが格納される順序に決まりがない為です。

共感・感謝の気持ちを伝えよう!

質問者からの補足

自己回答です。 1年以上かかりましたが、問題を解決することができましたのでご報告し、ベストアンサーにさせていただきます。 調べてみるとこのパソコンは他にも次のような問題があることが判りました。 1.負荷が上がると勝手にリブートする。 2.時々panicを起こす(原因となるソフトウエアはてんでバラバラ。)。 3.時々cpufaultが起こる(faultが起こるコアもてんでバラバラ)。 4.RAMチェックのプログラムを走らせると結構引っかかる。 ぼろぼろですね。 私は『何かの熱暴走だ。』と仮定しておりましたが、今年の秋、寒くなって、且つ大して負荷をかけなくとも同様の現象が発生する事態となりました。 そこで、あらためて原因を探しだしたところ、BiosのCPUクロックの: Turbo CORE の設定が異常に高い数値に設定されていることが判りました。元々この設定は"自動"にしていましたので、設定を"手動"にし、適当な数値を設定したところ現象は完全に収まりました。 その後、一月程運転しておりますが、現象は一度も発生しておりません。 Biosのバージョンが古いのかもしれませんね。

関連するQ&A

  • ファイルのコピー

    xcopy コマンドを用いて c:\work フォルダ内に  data_backup.1,data_backup.2,~data_backup.31 と data_backup.日付 のファイルがあります これを d:\keep フォルダに本日のファイルのみをコピーする  例 03/11/28の場合、data_backup.28 バッチファイルを教えてください

  • tarを使用してのファイルコピーについて

    以下の2種類のコマンドは同じ事をしているように思うのですが、 tarを使用する利点は何かあるのでしょうか? ディレクトリの場合はtarを使用する利点はあると思うのですが、 ファイルの場合何かあるのかなと思い質問させていただきました。 1,  tar cf - foo.backup | (cd /mnt/NAS/backupdir; tar xf -) 2,  cp foo.backup /mnt/NAS/backupdir

  • CPコマンドでファイルがコピーできない

    こんにちは。 UNIX上でCPコマンドを使用したのですが、 以下のエラーが発生している為にコピーが出来ません。 大変申し訳ございませんが、 解決方法をアドバイスして頂けますよう よろしくお願い致します。 (実施コマンド) cp -f /oradata/db_FB-RT-D1.tar.gz /mnt/smb/db_FB-RT-D1_2006-12-06_Wed.tar.gz ※/oradata/db_FB-RT-D1.tar.gzの状態です。 -rw-r--r-- 1 root root 3284833199 12月 6 04:42 db_FB-RT-D1.tar.gz 実施ユーザは以下のコマンドでクーロンに設定して行いました。 file_copy.shの中に『cp -f /oradata/db_FB-RT-D1.tar.gz /mnt/smb/db_FB-RT-D1_2006-12-06_Wed.tar.gz』コマンドが あります。 su - root -c "/backup/bin/file_copy.sh"

その他の回答 (2)

  • 回答No.2

すみません、こちらから2点ほど質問させて頂きます。 (1)tarでバックアップした際の各ファイルのファイルサイズは同じですよね? (2)tarコマンドを順次実行させているようですが、1つ目のtarコマンドの実行中にバックアップ対象のファイルが変更されているという事は無いですか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 (1)tarでバックアップした際の各ファイルのファイルサイズは同じですよね?    はい。比較するファイルサイズは同じです。 (2)tarコマンドを順次実行させているようですが、1つ目のtarコマンドの実行中にバックアップ対象のファイルが変更されているという事は無いですか?    ありません。    バックアップをとるディレクトリの中身は通常のファイルやディレクトリではなく    (つまりホームディレクトリを直接時間差と共に取っている、などではなく)、2-15個程    度のtarファイルです。

  • 回答No.1

8GBの制限に引っかかってないですか? solarisのtarコマンドで"E"オプションを付与しなかった場合、扱えるファイルサイズが8GBまでとなる制限があります。 "E"オプションを使用すると、最大サイズが1TBになります。 例:tar cvf ~ → tar cvfE ~

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご連絡ありがとうございます。 tarコマンドの"E"オプションについてのご指摘をいただきました。 私はこれまでご指摘の"E"オプションの存在を知らずにコマンドを 使用してきました。そのため、通常は"tar cf...."などと指令して います。 今回の不具合が見つかってからGNUのtarを使っておりますがそれで も同様の現象が発生しています。 さらに、その後いくつか判明した点がありますので下記に羅列致し ます。 1.問題が発生するのはデータのバックアップとして作成したtar ファイルです。 毎日インクリメンタルのバックアップを取り、一ヶ月に一度フル バックアップを取ります。インクリメンタルなバックアップは 1.5Gb程度、フルバックアップは16Gb程度になります。 ファイルが壊れてしまう現象は、どちらの容量のファイルに於い ても発生します。 2.不具合に気づいてから、次のようにして別々の異なるディレクト リ/異なるディスクに3カ所、同じtarファイルを作成し、それぞ れを"cmd -l"コマンドで比較するチェックをしています。 gtar cf - BackupDir > /export/home/backup/2012_09_27.tar gtar cf - BackupDir > /export/public/backup/2012_09_27.tar gtar cf - BackupDir > /export/home1/backup/2012_09_27.tar このように毎日バックアップを作成しておき、作成済みのtar ファイルも含め(昨日までのtarファイルも含めて)全てのtarファ イルを"cmd -l"にて相互に比較しています(とても時間と手間が かかります。)。 すると、全くエラーが発生しない日があると思えば、発生する日 もあります。 さらに、昨日はエラーが発生しなかったファイルが今日は発生す る、などということも起こります。全く不可解です。 3.エラーが発生したファイルに対し、繰り返し"cmd -l"コマンドを 実行してみます。 例えば次のようにエラーが報告されますが: cmp -l /export/.../backup/2012_08_30_f.tar ./2012_08_30_f.tar 8244928138 241 201 左側のエラーの位置を示す数値(だと思われますが)は、毎回一定 にはなりません。 発生箇所も上記のように一個だったり、2ヶ所だったり不特定で す。 しかしながら、241-201の様に『第5ビットが変わってしまう。』とい う点は変わることがありません。

関連するQ&A

  • eoをバッチファイルから使うに当たって1

    eoをバッチファイルから使います。 eo -s2 -ra+ cc.tar.gz (aa.txt --> bb(tar)--> bb.gz -->cc(tar)-->cc.tar.gzの順で、作成されたファイル、cc.tar.gzが対象です) 時として、警告メッセージ「ディスク容量が足りない可能性がある」 と出て、止まることがあります。ディスク容量は、30Gもありますので 全く問題ありません。多分、tar.gzファイルのサイズが大きいのが、原因と考えます。tar.gzで、20Mぐらい? 質問は、この種の警告が出ないような設定をどのようにして与えるのか、ということです。オプションには、見当たりませんが。 バッチファイルを組んで、多数のgzファイルを自動で解凍しようとしていますので、警告で止まって欲しくはないのです。 対象ファイルをすべて、解凍すると、大体、15Gバイトぐらいになります。 これを見越して、ディスク容量は、30Gバイトを残しています。 尚、警告が出た後の処置ですが、「OK」を押すことで、何も無かったかのように、前に進んで生きます。エラーには、なりません。 宜しくお願いいたします。

  • 絶対パスでアーカイブされたファイルをtarコマンドの相対パスで展開

    UNIXコマンドの「tarコマンド」についての質問です。 ファイルを絶対パスを用いてアーカイブをかけた場合、アーカイブファイルの展開時に、絶対パスで展開させず相対パスで展開させる方法がわかりません。 test.logを絶対パスを用いてアーカイブします。 %pwd /export/home %ls test.log %tar -cvf test.tar /export/home/test.log %ls test.log test.tar %rm test.log %ls test.tar このアーカイブファイルを別ディレクトリに移動 %mv /export/home/test.tar /export/home/test/test.tar 自身もディレクトリ移動 %cd /export/home/test %ls test.tar このような条件でアーカイブファイルの展開を実行 %tar -xvf test.tar %ls test.tar /export/home/testのディレクトリでは展開されず下記のように 絶対パスで指定したディレクトリに展開されます。 %cd /export/home/test %ls test.log インターネットで調べたところ %tar -xvf test.tar -C /export/home/test で実行すれば相対パスで展開できると記述があったのですが うまくできませんでした。 上記のコマンドで実行したところ得にはエラーは出ず メッセージが「tar:ブロックサイズ=4」と出て展開もされませんでした。 もしよろしければご教示願えませんでしょうか。 よろしくお願いいたします。

  • solaris上のディレクトリをwindows diskへrshでtarファイルとして保存したい

    solaris上のディレクトリをwindowsからrshでtarを実行して直接windows上のフォルダにtarファイルとして保存したいのですが、コマンドが不明で困っております。 過去ログ(http://oshiete1.goo.ne.jp/kotaeru.php3?q=1139234)の#1さんの回答にあったコマンドがうまくいきません。 solaris8(Ultra-5)  ホスト名 solAAA  バックアップしたいディレクトリ /home/hogehoge windows2000proSP4  ホスト名 winBBB  保存先 C\TEMP  保存する際のtarファイル名 backup.tar コマンドプロンプトでC\TEMPにcd後、実行したいと考えております。 ちなみに↓のコマンドは正常動作を確認しております。  rsh solAAA -l root "ls -lap /" どなたか↓のコマンドの誤っている個所と、解説をお願い致します。  rsh solAAA -l root "tar cf - -C /home/hogehoge . > backup.tar" rshはsolAAA上で実行されるので、winBBBの指定がどっかに必要のような。。。 根本的にこのようなことは不可能でしょうか。

  • 他サーバーにあるファイルコピーのバッチ作成について

    とあるサーバー間で最新のDBBackupファイルのみコピーをしたいと思っています。 (1)のサーバーにあるBackupファイル(3ファイル) 例) 1. xxxxx.20180501.backup 2. xxxxx.20180502.backup 3. xxxxx.20180503.backup ↓ (2)のサーバーに最新のファイル(3.のみ)コピーさせたいです。 (1)にあるファイルは毎日1回4時にBackupされ過去3日分保存されます。 (2)のコピー先ディレクトリは以下の通りです。 C:\DBBACKUP (2)最新のファイルのみ上書きでBackupしたいです 上記の内容のバッチ作成をしたいのですがご教授いただけますか。

  • cronからtarで圧縮しようとすると、途中で終わってしまいます

    サーバーはCentOS 5.3です。 以下はroot権限での話です。 コマンドラインで /bin/tar cvzf /home/myhome/backup/var_backup.tar.gz /var と打ち、実行すると正しく圧縮されたファイルが出来上がります。 解凍してみても問題ありません。 大きさは700MBくらいになります。 ところが同じコマンドをCronにセットして実行すると、ファイルはできるのですが 254K というとても小さなファイルが出来上がって終わってしまいます。 解凍してみるととても中途半端なところで圧縮が終わっているみたいです。 5 0 * * * /bin/tar cvzf /home/myhome/backup/var_backup.tar.gz /var のように書いています。 rootのcrontabなので権限の問題ということも無いと思うのですが。 別のディレクトリでも試してみたのですが同じ結果でした。 別のサーバーで同じくCentOS5.3を使っていて、同じことをやっているのですが そちらはうまく行っているのです。 どなたか解決策などご存知でしたら教えてください。 同じような質問が過去にもあったようなのですが、未解決で終わっていました。

  • ファイルをDVD+Rにコピーする方法

    WindowsXP を使っています。 ハードドライブが混んできたので、あまり使わない写真類をDVD+Rにコピーして空き容量を広げたいのですが、コピーの仕方がわかりません。 単純にコピーとペーストをやると、「このファイルをコピーしようとして失敗しました。」というメッセージが出ます。DVD+Rのプロパティーを見ると「未フォーマット、使用領域 0バイト、空き領域 0バイト」となってますので、フォーマットが必要なようでが、どこを探してもそのようなコマンドが見当たりません。 それとも、写真類はDVD+Rでなく、CD+ROMを使わないといけないのでしょうか? どうすればファイルをコピーできるのか、詳しい方、どうぞ教えてください。 よろしくお願いします。

  • ファイルをハードに移動したら、全部をコピーできていないようです。どうしたらよいでしょうか?

    DELLのディスクトップパソコンの容量が無くなっていたので、BUFFALOの「HD-PF500U2」を購入して1つの大きいフォルダごと移動しました。 コピーが終わったのでプロパティで確認すると・・・ 【本体】 サイズ:35.7 GB (38,395,890,172 バイト) ディスク上のサイズ:35.8 GB (38,533,300,224 バイト) ファイル数:7919 フォルダ数1188 【ハード】 サイズ:29.5 GB (31,715,679,498 バイト) ディスク上のサイズ:29.6 GB (31,838,240,768 バイト) ファイル数:7200 フォルダ数1143 となりました、エラーも出ていないのに保存できなかったファイルは何なのでしょうか? 保存されていない物を保存したいのですが。探すのが大変なので、どうしたものかと思っています。 もう一度保存しなおすしかないのでしょうか?

  • cpコマンドトラブル

    solaris10(sparc版) cpコマンドにて95Gのファイルとディレクトリを新規のボリュームディスクにコピーを実施した所、95Gの倍の140Gでコピーされてしまいこのままだとディスクの圧迫が発生する為、途中でstopをしました。 (本来はtarコマンドでオプションeをつけて圧縮するつもりでしたが置く場所がなかったのでcpコマンドで実施) 補足: ミドルウエアー:ベリタスボリュームマネージャー なぜこのようになったのかご教授を頂ければ幸いです。 又、cpコマンドには容量の限界があるのでしょうか? (かなり泣きそうです。)

  • 常時書き込みされているファイルをtarでバックアップしたい

    Solaris9で/var配下を定期的にバックアップしたいと考え、 cronにて以下のようなコマンドを含むスクリプトを実行しています。 /usr/bin/tar cEfiX /backup/var_backup_`date '+%w'`.tar ${EXFILE} -C / ./var しかし、/var配下に常時書き込みされているログファイルがあり、 tarがreturncode=1で終了してしまいます。 その際のエラー出力は以下で、 tar: ./var/hogehoge.log: file changed size tarファイルに加える前と後で./var/hogehoge.logのファイルサイズが違っている という内容だと認識しています。 ※このファイルはバックアップの必要があるファイルでexcludeリストに加えるわけにもいきません。 tarコマンドの後に if [ $? != 0 ] という条件式を置いてエラーを検知しています。 何とかこのエラーだけを無視する妙案はありませんでしょうか?

  • tar->gzipの中間ファイル未作成方法ってあります?

    ワークステーションで作業してます。 バックアップをとったり、ftpするときによく tarしてgzipするのですが、tarからgzipって"|(パイプ)"で 単純につなげないのでいつも、コマンドを一つずつ実行するので 大きな中間ファイルができてしまいます。 中間ファイルを作らずにtar/gzipが一括で行えるコマンドの記述を 知ってる方、是非教えて下さい。ちなみに解凍方法も・・・