2013-03-29 22 views
7

Sto cercando di ottenere un elenco di tutti i file che abbiamo su un server (in particolare ogni file pdf che abbiamo lì). Ho provato a usare il comandante totale e cercare i file. Ha funzionato in una certa misura, come in, ho un elenco di tutti i pdf che abbiamo lì, ma non c'è modo di esportare i risultati (abbiamo 100.000 file in più)Ottieni l'elenco dei file dal server FTP

Ho provato a utilizzare uno script bash per ottenere il informazioni, ma non ho molta esperienza con Linux, e non so davvero cosa sto facendo.

Il mio script simile a questa:

#!/bin/bash 
hostname="<host>" 
ftp -i -nv $hostname << EOF 
user <username> <password> 
ls -R 
EOF 

Esecuzione dello script di cui sopra ottengo

?Invalid command 
501 Illegal PORT command 
ftp: bind: Address already in use 
221 Goodbye 

Qualsiasi aiuto o mi indica su cosa cercare sarebbe molto apprezzato.

risposta

4

Provare a configurare ftp per utilizzare la modalità PASV (passiva) per il trasferimento dei dati. Questo fatto con lo switch -p.

Non sono sicuro se sarà possibile eseguire un elenco di file ricorsivo con questo client ftp. ls -R nel mio caso ha appena dato l'elenco di file e directory nella directory di lavoro corrente. Forse Recursive FTP directory listing in shell/bash with a single session (using cURL or ftp) ti aiuterà.

+0

Grazie! la flag passiva ha funzionato – Raz

26

con curl, questo è a portata di mano
curl ftp://yourftpserver/dir/ --user username:password

+9

FYI: 'curl -l' restituisce solo i nomi. –

+1

come si scrive questo script per recurse? –

4

ncftpls ftp://yourftpserver/dir/*.pdf

noti che modelli come *.pdf, ecc nel comando di cui sopra non funzionano come previsto.

Per la ricorsività, utilizzare -R. Per ulteriori opzioni, vedere man ncftpls.

ncftpls è fornito dal pacchetto ncftp. Per RHEL, questo pacchetto è disponibile nel repository epel.

3
curl ftp://user:[email protected]<ip>/path/ 

L'ultima / è un must se si tratta di una directory. Questo ha funzionato nella versione arricciata 7.29.0

Problemi correlati