[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reverse backup ...via tar, invece rsync



Ciao MaX,

> # ssh root@ilmioserver.org /usr/bin/tar zcvf / - ?????
> 
> ma poi come faccio a redirigere il flusso di dati attraverso lo stesso
> canale che sto usando per connettermi in modo che il tar, venga creato
> nel mio computer e non nel server?


ssh root@ilmioserver.org 'tar czf - /' > file-locale.tar.gz

poiché trasferisci un file compresso, io disattiverei la compressione di
ssh e sceglierei un algoritmo di cifratura veloce, tipo:

ssh -o Compression=no -c arcfour \
  root@ilmioserver.org 'tar czf - /' > file-locale.tar.gz

l'errore che avevi compiuto è che dopo gli argomenti del tar ci vanno le
opzioni, e poi (in fondo) l'elenco dei file o directory che vuoi mettere
nell'archivio, ma se alcune opzioni vogliono degli argomenti, questi
vanno messi prima dei file. Quindi, poiché utilizzi l'opzione «f» che
vuole un argomento (nel tuo caso l'argomento è «-»), devi metterlo prima
dell'elenco dei file (nel tuo caso «/»).

Io ho messo il tutto tra apici singoli, anche se non è obbligatorio,
così se tu lo vuoi modificare aggiungendovi dei pattern, questi non
verranno espansi dalla shell sul tuo computer, ma verranno passati non
espansi alla shell sul server, che li espanderà.

Ultima cosa: se utilizzi l'opzione «v» allora non puoi utilizzare lo
standard output anche per il file (opzione «f» e argomento «-»), quindi
io ho tolto l'opzione «v». Se vuoi avere anche l'elenco dei file in
output, puoi farlo fare al tar sul tuo computer (anche se al contempo lo
salvi su file). Ad esempio:

ssh -o Compression=no -c arcfour \
  root@ilmioserver.org 'tar czf - /' \
  | tee file-locale.tar.gz | tar tzvf -

Il comando «tee» prende quanto arriva da ssh e lo salva su file oltre
che passarlo alla pipe successiva. Il tar finale fa solo l'elenco di
quanto contenuto nell'archivio che viene dalla pipe di ingresso.

Ciao,
Giuseppe


Reply to: