Tar da un disco all'altro in locale
Monti i due dischi, poi:
(cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpf -)
Tar in salsa ssh
Per fare un tar via ssh da una macchina all'altra, scrivendo un file tgz sulla macchina remota:
tar czf - <path di partenza> | ssh <user>@<host> dd if=- of=<file.tgz>
oppure
tar czf - <path di partenza> | ssh <user>@<host> dd of=<file.tgz>
a seconda della versione di "dd" della macchina remota.
Se si vuole fare il contrario, cioe` aprire un archivio remoto e scompattarlo in locale:
ssh <user>@<host> dd if=<file.tgz> of=- | tar xpf -
Oppure:
ssh <user>@<host> dd if=<file.tgz> | tar xpf -
Esempio: tar di /ud0 (con tutto) in ssh sul file /backup.tgz della macchina remota.
tar czf - /ud0 | ssh root@pippo.pluto.it dd if=- of=/backup.tgz
Per fare una copia di un file system via ssh (non producendo un file tar, ma una copia delle directory di partenza) mantenendo tutti i permessi:
tar cf - <path di partenza> <secondo path di partenza> <...> | ssh <user>@<host> tar xpf - -C <path di arrivo>
Esempio: tar di /ud1/programmi e /ud1/rapporti verso la stessa posizione su un disco di una macchina remota: (in questo esempio, sulla macchina locale mi trovo gia` dentro a "/ud1"
tar cf - programmi/ rapporti/ | ssh root@10.20.0.201 tar xpf - -C /ud1/