Approfondimento dell'uso del comando rsync
rsync da disco verso rete:
rsync -avzpL /path/src -e 'ssh -p 60000' user@server-dest:path/dest
rsync da disco verso rete con cancellazione:
rsync -avzpL --delete /path/src/ -e 'ssh -p 60000' user@server-dest:/path/dest
rsync da rete verso disco locale
rsync -avzpL -e 'ssh -p 60000' user@server-dest:/path/src /path/dest
rsync da rete verso disco locale con cancellazione:
rsync -avzpL --delete -e 'ssh -p 60000' user@server-dest:/path/src /path/dest
NOTE
- attenzione ai percorsi: se si usa il carattere jolly a fine percorso, per esempio
/path/src/*
, il parametro--delete
non verrà applicato. - per i percorsi remoti, dopo il due punti il tipo di percorso cambia: se inizia con il carattere
/
il percorso verrà inteso come assoluto sul filesystem. Se il percorso dopo il carattere due punti inizia con una lettera o un numero, verrà inteso come relativo all'utente con cui si accede; quindi:
user@server-dest:/mnt/cartella
punterà alla cartella assoluta/mnt/cartella
- mentre
user@server-dest:mnt/cartella
punterà alla cartella/home/user/mnt/cartella
In certi casi quindi i percorsi possono essere indicati in due modi diversi per lo stesso percorso: per raggiungere la cartella documenti/fatture
dell'utente user
possiamo raggiungerlo sia con:
user@server-dest:documenti/fatture
che conuser@server-dest:/home/user/documenti/fatture
Nel dubbio usare sempre percorsi assoluti se sono noti.
rsync accetta anche variabili di ambiente nei percorsi per cui è ammesso anche la forma user@server-dest:$HOME/documenti/fatture
il discorso vale anche al contrario, ossia: per raggiunger la cartella /home
di un disco si può usare:
user@server-dest:/home
(percorso assoluto)user@server-dest:../
(percorso relativo: la sequenza../
indica la cartella appena sopra quella attuale)
Nel secondo caso, se si usa un utente che non sia root
si devono avere anche i permessi per poter accedere alla cartella in questione, per esempio:
rsync pippo user@server:../ (che tenta di scrivere nella cartella /home ma come utente user fallirà) rsync: dest open "../pippo": Permission denied rsync: failed to upload file pippo to ../ Motivo del fallimento: utente `user` non ha i permessi per scrivere in `/home` sulla macchina `server`
Torna alla pagina precedente
Torna alla home page del wiki
— Joseph Curto 07/09/2023 10:19 - Ultima modifica: 07/09/2023 10:25