web-dev-qa-db-ja.com

FTPサーバーからすべてのファイルをダウンロードする

FTPサーバーから別のサーバーでホストするまですべてをダウンロードする必要があります。ファイルをダウンロードしているサーバーにのみシェルにアクセスできます。 Linux FTPコマンドを使用して、すべてのファイルをダウンロードし、プロセスで必要なディレクトリを作成するにはどうすればよいですか?

36
Navarr

wgetをこの方法で使用します(ミラーリングの場合はm):

wget -m ftp://username:[email protected]

ユーザー名またはパスワードに特殊文字が含まれている場合は、次の形式を使用する必要があります。

wget -m --user=username --password=password ftp://ip.of.old.Host

あるいは、Debianでncftpを使用してそれを行う方法を示す このガイド を見つけました。 ncftpがまだインストールされていない場合、新しいサーバーへのルートアクセスが必要になります。

要するに:

Sudo apt-get install ncftp
ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
65
Emil Vikström

別の方法は、ftpを使用することです。 ftpを使用したシェルスクリプトの例を次に示します。

#! /bin/bash

ftp -n << 'EOF'
open ftp.your_ftp_Host.com
quote USER your_username_here
quote PASS your_password_here
cd gets
Prompt no
mget * .
bye
EOF
1
mgoldwasser

一部のFTPサーバーでは、名前に.tarまたは.tgzを付けてディレクトリ全体をダウンロードできます。サーバーは、そのディレクトリのアーカイブを作成します。

1
mouviciel