2009-07-31 13 views
5

Sadece .htm veya .html dosyalarını sunucumdan indirmek istiyorum. Ben ncftpget ve hatta wget kullanıyorum ama sadece sınırlı başarı ile çalışıyorum.Komut satırını kullanarak linux sunucusundan yalnızca belirli dosya türlerini tekrar tekrar nasıl alabilirim?

ncftpget ile Tüm ağaç yapısını indirebilirim ama istediğim dosyaları belirtebilirim, ya hep ya hiç.

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/ ./local_folder *.htm 
: Eğer bunu yaparsam

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/*.htm ./local_folder 

, bütün site ve sadece .htm değil dosyaları indirir: Böyle bir dosya türünü belirtirseniz

, sadece üst klasörüne bakar

Bunu yapmak için ncftp kullanabilir miyim, yoksa kullanmam gereken başka bir araç var mı?

cevap

4

Sen wget

wget -r -np -A "*.htm*" ftp://site/dir 

veya bunu yapabilir, bu iki seçenek HTML indirilmesini etkilememesini

Not dosyaları (bir .htm veya .html dosya adı öneki ile belirlenir). Bu davranış tüm kullanıcılar için uygun olmayabilir ve Wget'in gelecek sürümleri için değiştirilebilir.

+0

Örneğin '* .htm * '' ile wget'e aktarmak için '* .htm *' den çıkmalısınız. – Jazz

0

Ncftpget dir globları anlıyor mu?

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/**/*.htm ./local_folder 

** dizinleri herhangi bir sayıda anlamına deneyin. Types of Files gereğince,

wget -m -np -A "*.htm*" ftp://user:[email protected]/dir 

Ancak:

+0

işe yaramadı –

0

wget komutu, unix dosyası globbing sözdizimini anlar.

wget -r -np --ftp-user=username --ftp-password=password "ftp://example.com/path/to/dir/*.htm" 

Tersine, dosya adı soneklerinin veya kabul etmek desen virgülle ayrılmış listesini kabul -A seçeneğini kullanabilirsiniz.

wget -A '*.htm' 

-R seçenek -A tersidir, yani getirmesi DEĞİL modelleri belirtmek için kullanabilirsiniz.

Savunma: Desenleri belirttiğinizden emin olun! Aksi halde, kabuğunuz , glob'un kendisini genişletebilir ve beklenmedik sonuçlara neden olabilir.

Ayrıca! Sunucu Hatası'ndaki "Using wget to recursively download whole FTP directories" sorusuna bakın.

İlgili konular