it-swarm.asia

Tüm FTP dizinlerini özyinelemeli olarak indirmek için wget kullanma

Tüm dosya ve klasörleri bir Ana Bilgisayardan diğerine kopyalamak istiyorum. Eski Host üzerindeki dosyalar/var/www/html adresinde oturur ve yalnızca bu sunucuya FTP erişimim vardır ve tüm dosyaları TAR edemiyorum. Eski Host ile FTP üzerinden düzenli bağlantı, beni/home/admin klasörüne getirir.

Yeni sunucumdan aşağıdaki komutu çalıştırmayı denedim:

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

Ancak tüm aldığım bir index.html dosyası.

FTP üzerinden yinelemeli olarak wget kullanmak için doğru sözdizimi nedir?

97
user9406

Deneyin -m için --mirror

wget -m ftp://username:[email protected]
129
Dave Cheney

Haklısın, sadece sonunda bir izlemeye * ihtiyacın var:

wget -r ftp://username:[email protected]/dir/*

Paylaşılan sunucular için şu şekilde kullanabilirsiniz:

wget -r ftp://1.2.3.4/dir/* --ftp-user=username --ftp-password=password

Paylaşılan sunucuların çoğunun ftp-kullanıcıadı, kullaniciadi @ hostname gibi bir şey olduğundan, ilk wget komutu çalışmaz ve ikinci komut düzgün çalışır.

39
Formoda

Wget'in yanı sıra komut dosyası modunda lftp öğesini de kullanabilirsiniz. Aşağıdaki komut, belirli bir uzak FTP dizininin içeriğini belirtilen yerel dizine yansıtır ve cron işine yerleştirilebilir:

lftp -c 'open <hostname>; user <username> <password>; mirror -e <remote-src-path> <local-dest-path>; quit'

Özyinelemeyi otomatik olarak dizinlere işler ve verileri indirmek için uzak kaynak başlangıç ​​dizinini belirtmeye izin verir.

7
zappan

FTP'den verileri tekrar tekrar indirmek için aşağıdaki wget komutunu kontrol edin.

wget --user="<user-name>" --password="<password>" -r -np -nH --cut-dirs=1 --reject "index.html*" "<URL to download files>"

-r: Özyinelemeli indirme içindir.

-np: Ebeveyn artan yok.

-nH: URL ile aynı dizine sahip dizinin oluşturulmasını devre dışı bırakmak içindir, yani abc.xyz.com

--cut-dirs: Üst dizin sayısını yok saymak içindir. Bu seçeneğin değeri komutunuz için farklı olacaktır.

Yukarıdaki komutu uygulayarak kontrol edebilirsiniz.

5
AVJ

'Curlftpfs - yerel dizin olarak bir ftp Ana Bilgisayarı bağla' seçeneğini kullanabilir ve bağlandıktan sonra 'cp -r' gibi normal dosya araçlarını kullanabilirsiniz.

5
chmeee

Özyineleme derinliği nedeniyle -r yerine -m kullanın.

http://www.editcorp.com/Personal/Lars_Appel/wget/wget_2.html#SEC11

3
Bojan Hrnkas

Çalışmalı:

wget -r ftp://ftp:[email protected]/tst/
2
rkthkr

Kullanın:

wget -m ftp://192.168.0.1

ve tüm dosya ve klasörleri yansıtacaktır.

2
Rajat

Dediğim gibi, FTP ile giriş yapmak beni/home/admin klasörüne götürüyor ve ihtiyacım olan dosyalar/var/www/html

Bunun sizin durumunuzda işe yarayacağını düşünüyorum:

wget -r ftp://192.168.0.1/../../var/www/html
1
kubanczyk

Bu doğru sözdizimi. Beklenen sonuçları neden almadığınızdan emin değilim.

Her zamanki gibi bunu yapmanın birden fazla yolu var. Ncftp'yi, özellikle ncftpget'i deneyin

1
goo

Bunu cron'a veya başka bir şeye dökmeye çalışıp çalışmadığınızı anlayabiliyorum, ancak neden normal istemciniz ve mget * ile sunucuya ftp göndermiyorsunuz? Bu, başarıya giden daha hızlı bir yol olabilir.

1
dr.pooter

Windows ile kullanıcı adı brinkster/username olarak hostingle karşılaştım, bu yüzden sözdizimini kullanırsanız wget bir hata atar:

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

Bunu aşmak için şunu kullanın:

wget -m ftp://brinkster%2Fusername:[email protected]

Windows @ brinkster hosting ile yüzleşmek zorunda kaldı.

0
Anto Joseph