Laser Office s.a.s di Magnaterra Alessandro & C.

Archive for 25 gennaio 2010

Utilizzare LFTP per fare un mirroring delle directory con un account FTP

Posted by xer su 25 gennaio 2010


lftp” è un client ftp che può essere utilizzato per sincronizzare directory di dati con un account ftp remoto.

Ipotizziamo di avere dei dati sulla nostra Linux Box firewall o server di dati locale e vogliamo eseguire un backup dei nostri dati, oppure vogliamo sincronizzare la directory dati con la directory del nostro server web in hosting presso un altro provider, o meglio ancora, ipotizziamo di avere dei dati sulla nostra Linux Box che utilizziamo tutti i giorni, ma che nottetempo, questi dati devono essere sincronizzati e pubblicati con il nostro server web remoto per renderli dispnibili tramite http.

Ebbene, lftp fa al caso nostro!

Per installare lftp, basta eseguire “apt-get install lftp“.

Il metodo migliore per utilizzarlo è di creare uno script nel quale scrivere i parametri di accesso, questo per facilitare l’esecuzione del backup e/o mirror senza dovere ogni volta digitare gli stessi comandi, ma perlopiù per potere inserire tale script come “cron job” e farlo eseguire sistematicamente.

Creiamo uno script per il download dei dati:

Eseguiamo il nostro editor preferito ed immettiamo i dati necessari e lo salviamo con il nome “download”:

open -u user,password -p [port] [server]
mirror -c -e /directory_remota /directory_locale
exit

user= è il login ftp del vostro server web o server ftp remoto, per accessi con username particolari come ad esempio un account di aruba, il quale è uno dei pochi provider che vendono hosting con spazio web illimitato, utilizzare l’username con gli apici come segue:

open -u ‘132345@aruba.it’,password -p [port] [server]
mirror -c -e /directory_remota /directory_locale
exit

password= è la password del vostro account
[port]= è la porta del servizio ftp (21 di default)
[server]= è l’indirizzo host del vostro account (es. ftp://miodominio.com, può essere utilizzato anche sftp://)
/directory_remota= è la directory remota del vostro server web e/o ftp
/directory_locale= è la directory della vostra Linux Box

Utilizzare il percorso “completo” sia per la directory remota che per quella locale.
L’opzione “-e” significa che se nella directory remota un detto file non esiste più, verrà cancellato anche nella directory locale, questo ovviamente per sincronizzare perfettamente entrambe le directory, volendo, tale parametro può essere omesso.

Salviamo il nostro script, come detto con il nome “download”.

Creiamo adesso uno script per l’upload dei dati:

Eseguiamo ancora una volta il nostro editor preferito (nano) immettiamo i dati necessari e lo salviamo con il nome “upload”:

open -u user,password -p [port] [server]
mirror -c -e -R /directory_locale /directory_remota
exit

Salviamo il nostro script, come detto con il nome “upload”.

A prima occhiata, sembra che il nostro script “upload” non sia diverso dal precedente, in realtà esiste un parametro in più:
-R” e le directory invece sono invertite.

Il parametro -R indica che vogliamo fare upload dei dati dalla directory locale verso un percorso remoto.
lftp ha molti parametri, per approfondire, “man lftp”.

Creati due script downlod e upload non ci resta che eseguirli.

Se volessimo fare il download dal nostro server web/ftp remoto, eseguiamo:

# lftp -f download

Se invece volessimo fare un upload dei dati sul server web/ftp remoto, eseguiamo:

# lftp -f upload

Semplicissimo e molto funzionale.

Annunci

Posted in Appunti liberi *nix | Contrassegnato da tag: , | 13 Comments »

 
%d blogger hanno fatto clic su Mi Piace per questo: