Trasferire “roba” via ftp

Polvere bianca
Che il protocollo ftp serva per trasferire file da un computer all’altro è cosa ben nota: lo dice il nome stesso (ftp: File Transfer Protocol). Quello che ho scoperto oggi è che ftp è in grado di trasferire anche altra “roba”.

Stavo googlando cercando di sapere se Mac OS X fosse in grado di accedere alle partizioni NTFS, quando mi sono imbattuto in un post in cui un tizio spiegava come aveva fatto ad estrarre i dati da una partizione NTFS di un PC con Windows XP non più in grado di avviarsi.

Il tizio in questione aveva avviato il PC con un live CD di Knoppix, aveva configurato la rete, montato la partizione NTFS, abilitato il server ftp sul proprio Mac e, via ftp, aveva trasferito sul Mac i dati del PC. Fin qui tutto normale.

Ma la cosa intrigante è stata, per me, il comando ftp usato per trasferire i dati:

ftp> bin
ftp> put "| tar -cvf - herusername" herusername_backup.tar

Sulle prime non capivo il senso di quel particolare comando put. Da man ftp si vede che put ha due parametri: il nome locale del file da trasferire e il nome che il file assumerà sul sistema remoto. Qualche prova è stata illuminante: se il primo parametro inizia con ‘|’ (il simbolo della pipe), allora il resto del parametro viene interpretato come un comando da eseguire, il cui standard output è riversato da ftp sul file remoto.

Funzione senz’altro interessante, che merita qualche enfasi in più sulla documentazione: io non ne ho trovato traccia…
Una versione più efficiente del comando precedente è

put "| tar -cvf - nomedir | gzip -c" nomefile.tar.gz

ma, in realtà, quello che si può trasferire è l’output di un qualsiasi comando: il listing di una directory, l’elenco dei processi etc.

Ovviamente il giochino funziona anche alla rovescia, ossia per ricevere roba con il comando get:

ftp> get herusername_backup.tar "| tar -xvf -"

che, forse, è anche più intuitivo.

Tanto per la cronaca: Mac OS X legge nativamente le partizioni NTFS a partire da Tiger, e può scriverci dentro con MacFUSE e NTFS-3G!

Annunci

Un pensiero su &Idquo;Trasferire “roba” via ftp

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...