【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

TurboLinuxでWebサーバーを運用していたのですが、ユーザー数の増加に伴い
マシンを入れ替えようとしています。

そこで元サーバーから新サーバーへの移行ですが、どのようにしたらいいので
しょうか?新サーバーにはWebサーバー、ftpサーバーを立ててます。

元サーバーからftpで送ったらいいのかと思ったのですが、ディレクトリごとと
いうのはできるのでしょうか?

あるいは他の手立てでもいいのでデータを移行する方法を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

Windows系のマシンを経由するのは鬼門でしょう。

(-_^;

大文字、小文字を区別しないので同じディレクトリに

Foo/ foo/

というような感じでディレクトリやファイルがあった場合破綻します。

個人的にはNFSを有効にすると後でまた使用不可に設定するのが面倒だとおもいます。


サーバが組織内で閉じてれば、rcpの設定をして

rcp -rp user@host:/home/http ./

等でよいかと。使用後は、つかえないように設定し直すのを
忘れずに。


外部に開いてるサーバだとsshの「最新版」(3.1とかのはず)を
www.openssh.orgからダウンロードしてscpを使うのが良いと
おもいます。アンインストールしないでそのまま使えば、
ついでに telnet, ftpのポートも閉じられるし。

新旧サーバ間のコピーはコマンドラインからrcpと同じ文法で
入力すれば可です。

scp -r user@host:/home/http ./
    • good
    • 0

Windowsマシンを経由してはどうでしょうか。


フリーソフトFFFTPを使えば、ドラッグアンドドロップで一度、
ディレクトリ丸ごとWinマシンにコピーして、その後、新サーバへアップできますよね。

ただし、ファイルの日付がアップロードした時のものになったり、
文字コードの問題とか注意する必要がありますが。
    • good
    • 0

よくやるパターンとしては、


#2 の方がおっしゃるようにNFSで経由で移動するのですが、
その際、tar を使います。

旧サーバを old 、新サーバを new として、
ごっそり移動するディレクトリを /.../target とすると、

new# mount -t nfs old:/... /tmp_mnt
new# cd /tmp_mnt
new# tar cf - target | ( cd /... ; tar xpf - )

とかいう手順で移動させるとよいと思います。
ちなみに cp -R を使った場合、シンボリックリンクも実ファイルとしてコピーされます。
    • good
    • 0

アーカイブファイルを作るスペースがあるならnaturalさんのやり方でもよいと思いますが、


NFSで一方から他方が見える状態にした上で、cp -r でコピーしてしまうというのはどうでしょう。
(TurboLinuxは実は使ったことが無いのですが、多分できるんじゃないかな。)
    • good
    • 0

tarでディレクトリごと1ファイルに固めてからftpでputし、受信側の任意のディレクトリで解凍すれば良いのではないでしょうか。


後は、無いとは思いますが、フルパスが書かれているような部分は必要に応じて修正して下さい。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。

QFTPのZip,tarファイルの転送

Zipファイル、tarファイルなのどの圧縮ファイルをBinaryモードで転送↓場合その中に含まれているファイルはBinaryモードで転送されるのでしょうか?

例えば、Zipファイルに含まれているファイルがテキストファイル(Ascii転送)だけの場合、そのZipファイルはAsciiで転送するべきなのでしょうか
Binaryで転送するべきなのでしょうか・

Zipに含まれているファイルがイメージファイル(binary転送)だけの場合、そのファイルはBinaryファイル転送で宜しいでしょうか?

Zipファイルに含まれているファイルがテキストファイル(Ascii),イメージファイル(binary)両方ある場合は、Zipで転送するのではなく解凍して個別で転送するべきでしょうか?

以上宜しくお願い致します。

Aベストアンサー

> 全てをZipで固めてLocal PC(win)にダウンロードした後、BサーバにそのZipをBinaryでアップロード
そうです。

圧縮ファイルで1個のファイルに纏める理由は、
1.ファイルが1個で済むでの簡単
2.処理中( FTPによるアップ/ダウンやコピー )にファイルが壊れた場合に、壊れたことが判明する。

項(2)ですが、圧縮ファイルにしないと、処理中のファイルが壊れても壊れたことが分かるのが遅れることがあります、圧縮すると最終的にファイルを解凍した時、正しく解凍できればファイルが壊れていないことが確認できます。


> 改行コードがサーバの改行コード
圧縮して移動するので当然です。 解凍後に利用する側のシステムに合わせてコード変換をします。 この処理が面倒なら ASCII コードで転送するしか手段はないです。

Q指定ファイルをFTPで自動アップロードしたいのですが

ホームページの管理をしています。

パソコンのフォルダに保存されている指定したファイルを毎日ホームページに自動的にアップロードできるソフトウェアを探しています。

【アップロードフォルダ】
123AAA.jpg
456AAA.jpg
123BBB.jpg
456BBB.jpg
・・・その他ファイル
※***AAA.jpgだけを指定時間にアップロードしたい。(123AAA.jpg、456AAA.jpg)

ためしにFFFTPを試してみたのですが、ミラーリングでファイルが全てアップロードされてしまいました。
フォルダはなるべく1つで増やしたくありません。
指定ファイルは出来るなら正規表現で指定したいです。

これらの事が出来るソフトウェアはあるのでしょうか?

Aベストアンサー

「WinSCP」というソフトを使ったやり方を書かせて頂きたいと思います。

まず、WinSCPをダウンロードし、インストールします。

以下のページで「Installation package」をクリックすると、ダウンロード出来ます。

■ WinSCP ダウンロードページ
http://winscp.net/eng/download.php

次に、WinSCPを通常起動し、FTP設定を済ませ、「保存」をクリックし、パスワードを保存し、一度サーバーに接続します。接続に成功したら何もせず、WinSCPを終了します。

次に、メモ帳等を開き、以下の線内の文章をコピー&ペーストします。

-------------------
option batch on
option confirm off
open ftp://(ユーザー名)@(ホスト名) -passive=on
cd /
put "(送信ファイルのフルパス)" "(サーバー側のフォルダのフルパス)"
close
exit
-------------------

ペーストしたら、かっこで囲まれている部分を、ご自身のサーバーの設定に書き換えます。かっこ自体も削除して下さい。例えば以下の様に記述します。

-------------------
option batch on
option confirm off
open ftp://username@example.com -passive=on
cd /
put "C:\image\*AAA.jpg" "/image/aaa/"
close
exit
-------------------

上記は、PC側の送信ファイルが「C:\image\*AAA.jpg」で、サーバー側のディレクトリが「/image/aaa/」だった場合の例です。サーバー側のディレクトリは予め作成しておいて下さい。最後の「/」も忘れずに付けて下さい。ルートディレクトリに送信したい場合は「/」だけで結構です。

編集したら、適当な名前を付けてデスクトップに保存します。例えば「スクリプト.txt」等とします。これがスクリプトファイルです。

次に、このファイルを自分の管理しやすい場所に移動します。どこでも構いません。

次に、スタートボタンをクリックし、検索窓に「タスクのスケジュール」と打ち込み、Enterキーを押します。

出た画面で、メニューの「操作」をクリックし、「基本タスクの作成」をクリックします。

「名前」と「説明」に、「自動アップロード」等と入力し、「次へ」をクリックします。

「毎日」を選択し、「次へ」をクリックします。

時刻を設定し、「次へ」をクリックします。

「プログラムの開始」を選択し、「次へ」をクリックします。

「参照」をクリックし、「C:\Program Files\WinSCP\WinSCP.exe」を選択し、「引数の追加」に「/script="(スクリプトファイルのフルパス)"」と入力し、「次へ」をクリックします。

「(スクリプトファイルのフルパス)」の部分はスクリプトファイルのフルパスに書き換えて下さい。フルパスが分からない場合は、スクリプトファイルのショートカットを作成し、そのショートカットのプロパティの「リンク先」に書かれているのがフルパスです。

「完了」をクリックします。

タスクスケジューラのウインドウを閉じます。

これで完了です。

「WinSCP」というソフトを使ったやり方を書かせて頂きたいと思います。

まず、WinSCPをダウンロードし、インストールします。

以下のページで「Installation package」をクリックすると、ダウンロード出来ます。

■ WinSCP ダウンロードページ
http://winscp.net/eng/download.php

次に、WinSCPを通常起動し、FTP設定を済ませ、「保存」をクリックし、パスワードを保存し、一度サーバーに接続します。接続に成功したら何もせず、WinSCPを終了します。

次に、メモ帳等を開き、以下の線内の文章をコピー&ペース...続きを読む

Qftpのmgetコマンドの自分の格納場所の指定方法は?

先日、ftpコマンドについてこのサイトで色々教えていただき感謝しております。

複数のファイルを受信するのにmgetコマンドを教えていただいたのですが、
相手より受信した場所の格納場所の指定が上手くいきません。

先方にFTPとしてログインでき、"PROMPT"→"MGET *"と行うのですが、受信したファイルの格納場所がCドライブの直下になってしまいます。
自分のインターネットサービスマネージャーの
ルートは別のフォルダに設定してあるのですが、これは受信したデータの初期値にはならないのでしょうか?
また、調べたところ省略すると、ワーキングディレクトリに作成されるみたいにかかれていましたが、ワーキングディレクトリはどこかで指定できるのでしょうか?

たとえばC:\AAAに受信したファイルを格納したい場合はどうやって書けばよいでしょうか?

MGET * C:\AAA見たいに色々試して見ましたが、駄目でした。

Aベストアンサー

方法は2つあります。

(1)データを格納するディレクトリに移動してからftpを起動させる。

cd 格納先ディレクトリ
ftp ホスト名
mget *

(2)ftpした後格納するディレクトリを指定する方法

ftp ホスト名
lcd 格納先ディレクトリ(自分のマシン)
mget *


lcd とは、"Local Change Directory" と思っておくと忘れなくていいですよ♪

Qffftpでフォルダ内のフォルダがダウンロードされません。。

こんにちは。

タイトルの通りです。
フォルダ直下のファイルはダウンロードされるのですが、フォルダ内のフォルダがまったくダウンロードされません。。

設定が悪いのでしょうか。。
詳しい方よろしくお願いいたします。

Aベストアンサー

FFFTP Q&A集「サブフォルダを含むファイルのダウンロードができません」
http://www2.biglobe.ne.jp/~sota/ffftp-qa/qa-13.html

意味を取り違えていましたらすみません。

QFTPサイト上で圧縮ファイルを解凍する方法を教えてください。

FTPサイト上で圧縮ファイルを解凍する方法を教えてください。

Windows上の多数のファイルをSolarisサーバにFTP転送する際、
エクスプローラを使用して行っているのですが、非常に時間が
かかっています。

そこで、圧縮して転送することを考えたのですが、それには
転送先サーバで解凍する必要があります。
telnetやsshといった方法でのログインは不可であり、ftpだけで
解凍を行いたいのですが、可能でしょうか。

良い方法があれば、教えていただけないでしょうか。

なお、Windows上に高速転送ソフトなどをインストールすることは
できません。

よろしくお願いします。

Aベストアンサー

コマンドラインのftpだとliteralコマンドで任意のコマンドをftpサーバに送れるようです。(普通はsiteコマンドだと思うけどこちらはない)
ftpサーバーでコマンド実行に制限がなければunzipでも何でも使えると思いますけど。

Qftpコマンドで丸ごとダウンロード

ftpコマンドでWebのドキュメントルートごとgetはできませんか?

getで1ファイル落とせます。
mgetでカレントのファイルを全て落とせます。

それだけでなく、
ディレクトリを丸ごとダウンロードしたいのですが、それはftpのコマンドでは無理なのでしょうか?

いろいろ検索してみました。
下記のような情報はあります。
http://sasuke.main.jp/ftpcommand.html

でも、ディレクトリ毎落とせるのかどうかイマイチわかりません。

Aベストアンサー

手動で、都度lsやgetコマンドを入れれば可能ですよね。
つまり、プログラムでftpを制御してlsの結果を解析し、プログラムでgetコマンドを生成して入力すれば可能です。
ftpのクライアントコマンド単体では無理です。

GUIのftpクライアントだと、GUIでフォルダーをドラッグすればそういうことを自動的にやってくれたりします。コマンドラインだとwgetというプログラムでも出来ます。

昔は、ftpサーバー側でディレクトリをまとめてくれて1ファイルにしてくれるものもありましたが、最近は見かけません。

QFTP 転送コマンド

Free BSD4.8でFTPを使いputコマンドでフォルダ(ディレクトリ)ごと転送するとnot a plain fileとエラーがでました。フォルダごと転送するにはどうすればいいでしょうか。もしくはそのディレクトリのファイル全てをまとめて
putするにはどうすればいいでしょうか?よろしくおねがいします。

Aベストアンサー

>別の方法でncftpをインストールする方法を

tarソースからコンパイルインストールしたのち、ソースは
削除すればよいです。

方法は、#3の検索ページで見つかります。

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qftpコマンドの戻り値をチェックしたい

現在業務でftpコマンドを用いたバックアップシェルを作成しております。(RHEL4)
クーロンでシェルAを呼び、シェルA内でftpコマンド発行→ファイルB内のftpコマンドを実行→シェルAに戻る、という仕様ですが、このftpコマンドが成功したのか失敗したのかをプログラム上で判断する方法はありますでしょうか?

Aベストアンサー

shogo0809さんの回答に便乗します。
実行ログをファイルに落としてgrepするのがよいと思います。
以前、似たような質問があったので
具体的な手順は参考URLのほうを見てはどうでしょうか?

→シェルスクリプトでFTPの実行結果を取得するには

参考URL:http://oshiete1.goo.ne.jp/qa2656080.html


人気Q&Aランキング