# Approfondimento dell'uso del comando rsync ~~NOTOC~~ *** ### 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 con - `user@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` ``` \\ \\ *** [[ tecno:tips-triks | Torna alla pagina precedente ]] \\ [[ start | Torna alla home page del wiki ]] \\ --- //[[jcurto@joe.vr.it|Joseph Curto]] 07/09/2023 10:19 - Ultima modifica: 07/09/2023 10:25// ***