Sincronizzazione dei file su FTP


11

Devo sincronizzare i file sul mio computer con un server a cui ho solo accesso FTP. Quindi non posso usare rsync (che avrebbe bisogno almeno di SFTP, ma l'unico canale disponibile per me è il semplice FTP vaniglia).

Ho solo bisogno della sincronizzazione unidirezionale: dalla mia macchina al server. Ho sentito parlare di un programma chiamato all'unisono , ma sembra essere pensato per la sincronizzazione bidirezionale e non sono sicuro che possa essere modificato per fare ciò che voglio. Dovrei anche aggiungere che il programma dovrebbe funzionare in modo non interattivo, in modo che possa essere utilizzato all'interno di uno script.

L'ultima opzione sarebbe quella di scrivere il mio script che confronta i file in base al tempo di modifica (o qualcosa del genere) e copia su quelli che sono cambiati. Sono già riuscito a montare la directory FTP in una directory locale, quindi il problema si riduce alla sola sincronizzazione di due directory. Ma il mio istinto mi dice che ci deve essere qualcosa di simile già esistente in natura.

Risposte:


14

Perché non riuscivo wputa lavorare, ho cercato un'alternativa e ho trovato: ncftp .

Più specificamente ncftpput sembrava fare quasi ciò che Wput è stato progettato per fare. Soprattutto per me, non è andato in crash come wput. E in effetti riesce a caricare solo quei file che non sono stati modificati usando l' opzione -z :

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...

ha funzionato perfettamente per me
roman m

Su OSX, installare tramite: brew install ncftp.
Kenorb,

1
Per copiare interi alberi di directory, utilizzare -R.
Kenorb,

+1 per l'uso off-label di -z per indicare "noclobber" / "non sovrascrivere"
barrycarter

Vorrei averlo trovato 2 giorni fa. Ho rinunciato a ncftpget poiché la pagina man non mostrava alcuna opzione "salta esistente". Ho battuto la testa su lftp - da BASH a Python. Poi ho fatto un altro tentativo di ncftp su Google e ho trovato la tua soluzione. Ho cercato ncftpget (pagina man) - "-z / -Z Do (non) tenta di riprendere i trasferimenti. L'impostazione predefinita è provare a riprendere". Non sembrava convincente. Ma diavolo, questa è l'opzione che stavo cercando: scarica solo i nuovi file usando ncftpget. Spero che questo commento sia utile a qualcuno.
Anup Nair,


3

Certo, e si chiama wput


Ovviamente! Come non ci ho pensato. Dimenticato totalmente quel programma. Penso che funzionerà, ma
riferirò

Per alcuni motivi, Wput mi dà "errore di segmentazione" ogni volta che provo a caricare qualcosa.
Rene Saarsoo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.