- ベストアンサー
LinuxのFTPコマンドについて他
Linuxに関する質問です (1) 2つのサーバA,Bで以下の作業を行いました。 1.Aで"tar cvf","tar rvf"を使用して50個ほどのファイルを相対パスでアーカイブした(File1生成) 2.Bからftpコマンドを使用してFile1をGetした 3."tar xvf"を使用してFile1を展開した このとき3.の処理が、8個ほどのファイルの展開が終了したところで、次のメッセージを表示して停止してしまいます。 [メッセージ] tar: Skipping to next header tar: Archive contains obsolescent base-64 headers tar: Error exit delayed from previous errors これが、どのような原因によるものかご存知の方はいらっしゃるでしょうか? 環境は以下の通りです サーバA:Red Hat Linux release 6.2 (Zoot) Kernel 2.2.14-5.0 on an i686 サーバB:Red Hat Linux release 7.3 (Valhalla) Kernel 2.4.18-3 on an i586 (2) テスト用サーバA、WEBサーバBがあるとします。 BからAに対してftpコマンドのGet要求を行いAにあるファイルをBに持ってくるとき、Bにおけるファイルのタイムスタンプは、通常、ftpを行った時間になってしまいます。 BにおけるファイルのタイムスタンプをAにおけるファイルのタイムスタンプ(ファイルが生成された時間)と同じにする事はできないでしょうか? ちなみに、現在は「Aでファイルをアーカイブ」->「AからBにFTP転送」->「Bでアーカイブファイルを展開」という方法で対処しています。 以上2点について宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1) バイナリモードで転送されましたか? (2) wgetコマンドを使ってみてはどうでしょう。 最近のディストリビューションなら標準で入ってます。
その他の回答 (2)
- xjd
- ベストアンサー率63% (1021/1612)
ncftpというツールもあります。 (タイムスタンプを保持してくれるような機能があります)
お礼
高機能なFTPツールといった感じですね。 このツールを使ってftpで-nオプションを指定したときのような動作をさせることが出来れば最高なのですが... もう少し調べてみます。
補足
回答と補足の使い方を間違えました^^; ご回答ありがとうございました。
- TMINET
- ベストアンサー率32% (45/140)
(1)Binaryモードで行ったかを確認して下さい。 (2)Compressしてはいかがでしょう。
お礼
(1)ご指摘のとおりバイナリモードで転送を行うとうまくいきました。 (2)Compressを使用した場合、Tarを使用するのと同様の手間が掛かってしまうような気もします。出来ればサーバA側では作業をせずにサーバBからのみの作業で済むようにしたいのです。
補足
回答と補足の使い方を間違えました^^; ご回答ありがとうございました。
お礼
(1)ご指摘のとおりバイナリモードで転送するとうまくいきました。 (2)wgetコマンドを使用した場合、100個のファイルのうち50個だけをGetしたいときなどの使い勝手はどんな具合でしょうか?Webの更新に使うので、一度に大量のファイルを(目的のファイルのみ)更新しないといけないので... ちょっと調べた感じでは、そういう使い方には余り向いていなさそうな気もします。
補足
回答と補足の使い方を間違えました^^; ご回答ありがとうございました。