{"id":134476,"date":"2026-03-02T09:00:00","date_gmt":"2026-03-02T08:00:00","guid":{"rendered":"https:\/\/supporthost.com\/it\/?p=134476"},"modified":"2026-02-27T16:34:58","modified_gmt":"2026-02-27T15:34:58","slug":"comando-rsync-linux","status":"publish","type":"post","link":"https:\/\/supporthost.com\/it\/comando-rsync-linux\/","title":{"rendered":"Come sincronizzare cartelle remote e locali con il comando rsync"},"content":{"rendered":"\n<p>Vuoi sapere come tenere cartelle sincronizzate tra due dispositivi o tra computer e server? Il <strong>comando rsync<\/strong> su Linux ha proprio questa funzione: ci permette di <strong>copiare file e cartelle<\/strong>, tenerle <strong>sincronizzate <\/strong>e fare backup per evitare di sovrascrivere accidentalmente i dati.<\/p>\n\n\n\n<p>In questa guida ti mostreremo i principali casi d&#8217;uso e le opzioni di questo comando.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Indice<\/h2><nav><ul><li><a href=\"#sintassi-del-comando-rsync\">Sintassi del comando rsync<\/a><\/li><li><a href=\"#casi-duso-del-comando-rsync\">Casi d&#8217;uso del comando rsync<\/a><ul><li><a href=\"#fare-un-test-prima-della-copia\">Fare un test prima della copia<\/a><\/li><li><a href=\"#sincronizzazione-tra-cartelle\">Sincronizzazione tra cartelle<\/a><\/li><li><a href=\"#sincronizzare-due-cartelle-mantenendo-permessi-date-e-link-simbolici\">Sincronizzare due cartelle mantenendo permessi, date e link simbolici<\/a><\/li><li><a href=\"#fare-una-sincronizzazione-da-locale-a-remoto\">Fare una sincronizzazione da locale a remoto<\/a><\/li><li><a href=\"#sincronizzare-i-file-da-remoto-a-locale\">Sincronizzare i file da remoto a locale<\/a><\/li><\/ul><\/li><li><a href=\"#altre-opzioni-del-comando-rsync\">Altre opzioni del comando rsync<\/a><ul><li><a href=\"#sincronizzare-le-cartelle-facendo-un-mirroring-opzione-delete\">Sincronizzare le cartelle facendo un mirroring<\/a><\/li><li><a href=\"#come-aggiungere-la-barra-di-progresso\">Come aggiungere la barra di progresso<\/a><\/li><li><a href=\"#come-avere-dettagli-sui-file-durante-la-copia\">Come avere dettagli sui file durante la copia<\/a><\/li><li><a href=\"#evitare-sovrascritture-indesiderate-con-lopzione-update\">Evitare sovrascritture indesiderate con l&#8217;opzione update<\/a><\/li><\/ul><\/li><li><a href=\"#c\">Conclusioni<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sintassi-del-comando-rsync\">Sintassi del comando rsync<\/h2>\n\n\n\n<p>A differenza del <a href=\"https:\/\/supporthost.com\/it\/comando-cp-linux\/\" data-type=\"post\" data-id=\"76900\">comando cp<\/a>, usato per semplici copie in locale, il comando rsync su Linux si utilizza soprattutto per copiare e mantenere sincronizzati i file tra dispositivi diversi: ad esempio tra due computer o tra un computer e un server.<\/p>\n\n\n\n<p>Non a caso rsync sta per <em>remote sync<\/em> per indicare appunto la possibilit\u00e0 di effettuare <strong>sincronizzazioni tra cartelle locali e remote<\/strong>. Per far s\u00ec che questo sia possibile si deve stabilire una connessione con la macchina remota, come avremo modo di vedere nel dettaglio in questo guida, lo si fa tramite una <strong>connessione SSH<\/strong>.<\/p>\n\n\n\n<p>Ad ogni modo il comando rsync funziona perfettamente anche per mantenere sincronizzate cartelle sullo stesso dispositivo a differenza di comandi usati principalmente per sincronizzazioni remote come il <a href=\"https:\/\/supporthost.com\/it\/comando-scp-linux\/\">comando scp<\/a>.<\/p>\n\n\n\n<p>La sintassi di base del comando rsync \u00e8 questa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync &#091;opzioni] &#091;sorgente] &#091;destinazione]<\/code><\/pre>\n\n\n\n<p>Bisogna quindi usare il comando con o senza opzioni e poi specificare<strong> prima la sorgente<\/strong>, cio\u00e8 il file o la cartella da copiare, e <strong>dopo la destinazione<\/strong>, cio\u00e8 il percorso dove avverr\u00e0 la copia.<\/p>\n\n\n\n<p>Per esempio per copiare il contenuto della cartella &#8220;Documenti&#8221; nella cartella &#8220;backup&#8221;, si pu\u00f2 usare il comando seguente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a \/home\/vbox\/Documenti\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>L&#8217;esempio qui sopra riguarda la sincronizzazione locale, sullo stesso computer, e con l&#8217;opzione <code>-a<\/code> stiamo mantenendo tutti i dettagli dei file originali (timestamp, permessi, ecc.).<\/p>\n\n\n\n<p>Non preoccuparti se ora non \u00e8 tutto chiaro, con gli <strong>esempi <\/strong>che andremo a vedere capirai meglio come usare questo comando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"casi-duso-del-comando-rsync\">Casi d&#8217;uso del comando rsync<\/h2>\n\n\n\n<p>Andiamo a vedere dei casi pratici dell&#8217;utilizzo del comando rsync. In particolare vedremo: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>come fare un <strong>test <\/strong>(opzione <code>--dry-run<\/code>) prima della copia a tutti gli effetti;<\/li>\n\n\n\n<li>come fare una copia di una cartella e perch\u00e9 fare attenzione al <strong>trailing slash<\/strong> finale;<\/li>\n\n\n\n<li>come mantenere gli <strong>attributi <\/strong>e i permessi;<\/li>\n\n\n\n<li>fare una copia con sorgente <strong>locale <\/strong>e destinazione server remoto;<\/li>\n\n\n\n<li>fare una copia usando come sorgente una macchina <strong>remota <\/strong>e destinazione una cartella locale.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"fare-un-test-prima-della-copia\">Fare un test prima della copia<\/h3>\n\n\n\n<p>Prima di iniziare a utilizzare il comando rsync \u00e8 importante sapere che le modifiche nella cartella di destinazione <strong>verranno effettuate senza richiedere conferma<\/strong>. Questo significa che usando il comando rsync per sincronizzare due cartelle o dei file, potresti sovrascrivere accidentalmente i file.<\/p>\n\n\n\n<p>Il modo pi\u00f9 sicuro se non sai bene come procedere, \u00e8 fare prima un test.<\/p>\n\n\n\n<p>Il comando rsync ha un&#8217;opzione, <code>--dry-run<\/code>, che insieme a <code>-v<\/code> (verbose) permette di mostrare i cambiamenti che apporter\u00e0 senza per\u00f2 fare ancora nessuna modifica.<\/p>\n\n\n\n<p>Dopo che con questa opzione ti sarai assicurato che la copia che vuoi fare \u00e8 corretta, potrai ridare lo stesso comando senza l&#8217;opzione, <strong>per eseguire a tutti gli effetti la copia<\/strong>.<\/p>\n\n\n\n<p>L&#8217;opzione si usa in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -av --dry-run \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"252\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-dry-run.png\" alt=\"Comando Rsync Dry Run\" class=\"wp-image-134478\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-dry-run.png 998w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-dry-run-300x76.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-dry-run-768x194.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-dry-run-120x30.png 120w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/figure>\n\n\n\n<p>Possiamo usare l&#8217;opzione estesa <code>--dry-run<\/code> o la versione abbreviata <code>-n<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -avn \/percorso-origine\/ \/percorso-destinazione\/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sincronizzazione-tra-cartelle\">Sincronizzazione tra cartelle<\/h3>\n\n\n\n<p>Per utilizzare correttamente il comando rsync, bisogna fare attenzione alla sintassi che utilizziamo. Questo vale il particolar modo quando stiamo <strong>sincronizzando due cartelle<\/strong>.<\/p>\n\n\n\n<p>La cosa a cui dobbiamo fare attenzione \u00e8 lo <strong>slash finale<\/strong> dopo il nome della cartella <strong>di origine<\/strong>.<\/p>\n\n\n\n<p>Vediamo due esempi per capire bene come funziona.<\/p>\n\n\n\n<p>Se vogliamo copiare solo il contenuto della cartella di origine, <strong>senza la cartella stessa<\/strong> dobbiamo inserire lo slash dopo il nome della cartella.<\/p>\n\n\n\n<p>Guarda questo esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>Nel caso qui sopra voglio copiare il contenuto della cartella &#8220;2025&#8221; nella cartella &#8220;backup&#8221;.<\/p>\n\n\n\n<p>Come risultato avr\u00f2 che solo il contenuto della cartella &#8220;2025&#8221; verr\u00e0 copiato nella cartella backup, come si vede nell&#8217;esempio qui sotto in cui ho usato il <a href=\"https:\/\/supporthost.com\/it\/comando-ls-linux\/\" data-type=\"post\" data-id=\"84466\">comando ls<\/a> per vedere il contenuto delle due cartelle.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"205\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-trailing-slash.png\" alt=\"Comando Rsync Copia Trailing Slash\" class=\"wp-image-134479\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-trailing-slash.png 976w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-trailing-slash-300x63.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-trailing-slash-768x161.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-trailing-slash-120x25.png 120w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<p>Se, invece, voglio copiare<strong> l&#8217;intera cartella<\/strong> di origine con tutto il contenuto, dovr\u00f2 usare lo stesso comando, ma senza lo slash finale, cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025 \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>In questo caso, come si vede nell&#8217;esempio, ho copiato la cartella &#8220;2025&#8221; (e il suo contenuto) nella cartella &#8220;backup&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"288\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-senza-trailing-slash.png\" alt=\"Comando Rsync Copia Senza Trailing Slash\" class=\"wp-image-134480\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-senza-trailing-slash.png 976w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-senza-trailing-slash-300x89.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-senza-trailing-slash-768x227.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-copia-senza-trailing-slash-120x35.png 120w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sincronizzare-due-cartelle-mantenendo-permessi-date-e-link-simbolici\">Sincronizzare due cartelle mantenendo permessi, date e link simbolici<\/h3>\n\n\n\n<p>Uno degli utilizzi pi\u00f9 comuni del comando rsync non \u00e8 creare una semplice copia, ma fare una vera e propria <strong>sincronizzazione<\/strong>.<\/p>\n\n\n\n<p>Per esempio immaginiamo di voler creare la copia di backup di una cartella e tenere le due cartelle, l&#8217;originale e la copia di backup sempre sincronizzate.<\/p>\n\n\n\n<p>In questo caso non vogliamo soltanto copiare il contenuto della cartella, ma vogliamo anche assicurarci che i <strong>permessi<\/strong>, il <strong>proprietario <\/strong>e il <strong>gruppo <\/strong>associati ai file e i link simbolici siano mantenuti.<\/p>\n\n\n\n<p>Il comando rsync ha proprio un&#8217;opzione che ci permette di farlo: <code>--archive<\/code> o <code>-a<\/code>.<\/p>\n\n\n\n<p>Vediamo questo esempio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/aprile\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>Usando l&#8217;opzione <code>-a<\/code> sto eseguendo una copia esatta dei file, in questo caso del contenuto della cartella &#8220;aprile&#8221; e questa copia include anche i <strong>link simbolici<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"978\" height=\"187\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-a.png\" alt=\"Comando Rsync Opzione A\" class=\"wp-image-134481\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-a.png 978w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-a-300x57.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-a-768x147.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-a-120x23.png 120w\" sizes=\"auto, (max-width: 978px) 100vw, 978px\" \/><\/figure>\n\n\n\n<p>Se, invece, avessi fatto una copia usando l&#8217;opzione <code>-r<\/code>, i link simbolici non sarebbero stati copiati. In questo caso, inoltre, ci viene indicato dal prompt che il file &#8220;esempio&#8221;, un link simbolico, non \u00e8 stato copiato.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"172\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-r.png\" alt=\"Comando Rsync Opzione R\" class=\"wp-image-134482\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-r.png 976w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-r-300x53.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-r-768x135.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-r-120x21.png 120w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"fare-una-sincronizzazione-da-locale-a-remoto\">Fare una sincronizzazione da locale a remoto<\/h3>\n\n\n\n<p>Negli esempi precedenti abbiamo visto la copia di file con cartella di origine e destinazione sullo stesso computer.<\/p>\n\n\n\n<p>Come dicevamo all&#8217;inizio di questa guida, rsync \u00e8 un comando molto utile per sincronizzare i file anche tra macchina locale e remota.<\/p>\n\n\n\n<p>In questi casi ci serve avere una <strong>connessione SSH<\/strong> per poterci collegare alla macchina remota che pu\u00f2 essere ad esempio un server o un altro computer connesso alla stessa rete.<\/p>\n\n\n\n<p>Ai fini di questo esempio vedremo un collegamento con un dispositivo connesso alla stessa rete, per questo nell&#8217;esempio vedrai un IP locale. Il procedimento \u00e8 comunque identico anche se non stai usando la rete locale, ma connettendoti a un server.<\/p>\n\n\n\n<p class=\"note\">Per utilizzare il comando rsync abbiamo bisogno di collegarci via SSH (con password o chiave). Puoi seguire la guida alla <a href=\"https:\/\/supporthost.com\/it\/connessione-ssh\/\" data-type=\"post\" data-id=\"15828\">connessione SSH<\/a> se hai bisogno di sapere come collegarti.<\/p>\n\n\n\n<p>La sintassi del comando \u00e8 questa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a \/percorso-origine\/ username@host:\/percorso-destinazione\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>\/percorso-origine\/<\/em> \u00e8 la cartella locale sul tuo computer che vuoi copiare;<\/li>\n\n\n\n<li><em>username@host<\/em> indica le credenziali della macchina remota, quindi dovrai specificare username e host, ad esempio l&#8217;IP.<\/li>\n\n\n\n<li><em>\/percorso-destinazione\/<\/em> \u00e8 il percorso di destinazione, cio\u00e8 la cartella dove verranno copiati i file.<\/li>\n<\/ul>\n\n\n\n<p>Per esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -ani \/home\/vbox\/Documenti\/SupportHost\/nuovo\/ fabrizio@192.168.1.6:\/home\/fabrizio\/test_rsync\/<\/code><\/pre>\n\n\n\n<p>Il comando qui sopra copia il contenuto della cartella &#8220;nuovo&#8221; nella cartella &#8220;test_rsync&#8221; del computer remoto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"208\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-locale-a-remoto-rsync.png\" alt=\"Copia Da Locale A Remoto Rsync\" class=\"wp-image-134483\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-locale-a-remoto-rsync.png 842w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-locale-a-remoto-rsync-300x74.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-locale-a-remoto-rsync-768x190.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-locale-a-remoto-rsync-120x30.png 120w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<p>L&#8217;esempio qui sopra presenta l&#8217;opzione <code>-n<\/code> per effettuare un <em>dry-run<\/em>, cio\u00e8 un test, e non una vera e propria copia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sincronizzare-i-file-da-remoto-a-locale\">Sincronizzare i file da remoto a locale<\/h3>\n\n\n\n<p>Analogamente a quanto abbiamo visto nell&#8217;esempio precedente, possiamo effettuare una sincronizzazione dei file usando come sorgente una cartella <strong>remota <\/strong>e come destinazione una cartella <strong>locale<\/strong>.<\/p>\n\n\n\n<p>La sintassi \u00e8 questa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a username@host:\/percorso-origine\/ \/percorso-destinazione\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>username@host <\/em>sono le <strong>credenziali <\/strong>SSH per collegarci alla macchina remota;<\/li>\n\n\n\n<li><em>\/percorso-origine\/ <\/em>indica il percorso della cartella <strong>remota<\/strong> da sincronizzare;<\/li>\n\n\n\n<li><em>\/percorso-destinazione\/<\/em> indica la cartella <strong>locale <\/strong>in cui verranno copiati i file.<\/li>\n<\/ul>\n\n\n\n<p>Per esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -ani fabrizio@192.168.1.6:\/home\/fabrizio\/Immagini\/ ~\/Immagini-server-remoto\/<\/code><\/pre>\n\n\n\n<p>Con questo comando stiamo copiando il contenuto della cartella remota &#8220;Immagini&#8221; nella cartella locale &#8220;Immagini-server-remoto&#8221;.<\/p>\n\n\n\n<p>Nota che nell&#8217;esempio viene usata l&#8217;opzione <code>-n<\/code> (<code>--dry-run<\/code>) per eseguire un test e non una copia vera e propria.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"288\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-remoto-a-locale-rsync.png\" alt=\"Copia Da Remoto A Locale Rsync\" class=\"wp-image-134484\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-remoto-a-locale-rsync.png 854w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-remoto-a-locale-rsync-300x101.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-remoto-a-locale-rsync-768x259.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/copia-da-remoto-a-locale-rsync-120x40.png 120w\" sizes=\"auto, (max-width: 854px) 100vw, 854px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"altre-opzioni-del-comando-rsync\">Altre opzioni del comando rsync<\/h2>\n\n\n\n<p>Adesso che conosciamo le operazioni di base che si possono eseguire con il comando rsync, passiamo alle principali opzioni. <\/p>\n\n\n\n<p>Come altri <a href=\"https:\/\/supporthost.com\/it\/comandi-linux\/\" data-type=\"post\" data-id=\"33934\">comandi Linux<\/a>, anche il comando rsync ha diverse opzioni. Alcune le abbiamo gi\u00e0 viste negli esempi precedenti come: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l&#8217;opzione <code>-a<\/code> che mantiene gli attributi dei file;<\/li>\n\n\n\n<li>l&#8217;opzione <code>-r<\/code> che permette di copiare in modo ricorsivo e quindi pu\u00f2 essere usata per le cartelle;<\/li>\n\n\n\n<li>l&#8217;opzione <code>-n<\/code> (o <code>--dry-run<\/code>) che permette di eseguire test. <\/li>\n<\/ul>\n\n\n\n<p>Nei prossimi esempi, invece, vedremo queste altre opzioni: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--delete<\/code> e <code>--backup<\/code> utili quando vogliamo fare un mirroring tra cartelle ed evitare di perdere dati;<\/li>\n\n\n\n<li><code>--progress<\/code> per avere una barra che mostra l&#8217;avanzamento della copia<\/li>\n\n\n\n<li><code>--itemize-changes<\/code> per mostrare i dettagli durante l&#8217;esecuzione del comando<\/li>\n\n\n\n<li><code>--update<\/code> per evitare di sovrascrivere i file quando sono risultano pi\u00f9 aggiornati.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sincronizzare-le-cartelle-facendo-un-mirroring-opzione-delete\">Sincronizzare le cartelle facendo un mirroring <\/h3>\n\n\n\n<p>Negli esempi che abbiamo visto prima, il comando rsync va a copiare il contenuto della cartella di origine in quella di destinazione. Ma cosa succede se nella cartella di destinazione <strong>c&#8217;erano gi\u00e0 file<\/strong> che non sono presenti in quella di origine?<\/p>\n\n\n\n<p>Se non usiamo altre opzioni, il contenuto della cartella di destinazione non viene modificato.<\/p>\n\n\n\n<p>Facciamo un esempio pratico per capire meglio.<\/p>\n\n\n\n<p>Voglio sincronizzare due cartelle:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;aprile&#8221; \u00e8 la mia cartella di origine<\/li>\n\n\n\n<li>&#8220;backup&#8221; \u00e8 la destinazione.<\/li>\n<\/ul>\n\n\n\n<p>In questa sincronizzazione voglio fare un vero e proprio <em>mirroring<\/em> delle cartelle, cio\u00e8 se nella cartella &#8220;backup&#8221; ci sono file che non sono presenti in &#8220;aprile&#8221;, voglio che siano <strong>cancellati<\/strong>.<\/p>\n\n\n\n<p>Per farlo si utilizza l&#8217;opzione <code>--delete<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a --delete \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/aprile\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>In questo esempio, la cartella &#8220;backup&#8221; aveva gi\u00e0 del contenuto. Se usiamo il comando qui sopra con l&#8217;opzione <code>--delete<\/code>, tutto ci\u00f2 che \u00e8 presente in &#8220;backup&#8221; ma <strong>non \u00e8 presente<\/strong> in &#8220;aprile&#8221; (la cartella di origine) viene eliminato.<\/p>\n\n\n\n<p>Altrimenti, viene eseguita solo la copia del contenuto nuovo, ma il resto della cartella &#8220;backup&#8221; viene lasciato inalterato. Nell&#8217;esempio qui sopra puoi vedere come varia l&#8217;effetto di rsync in base all&#8217;uso o meno dell&#8217;opzione <code>--delete<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"419\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-funzionamento-opzione-delete.png\" alt=\"Comando Rsync Funzionamento Opzione Delete\" class=\"wp-image-134485\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-funzionamento-opzione-delete.png 972w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-funzionamento-opzione-delete-300x129.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-funzionamento-opzione-delete-768x331.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-funzionamento-opzione-delete-120x52.png 120w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/figure>\n\n\n\n<p class=\"note\">Attenzione: l&#8217;utilizzo dell&#8217;opzione <code>--delete<\/code> comporta la cancellazione definitiva dei file.<\/p>\n\n\n\n<p>Un modo per evitare di perdere file accidentalmente \u00e8 usare l&#8217;opzione <code>--delete<\/code> insieme all&#8217;opzione <code>--backup<\/code>.<\/p>\n\n\n\n<p>Quando usiamo l&#8217;opzione <code>--backup<\/code> andiamo a <strong>specificare una nuova cartella<\/strong> in cui verr\u00e0 conservata una copia dei file della cartella di destinazione ogni volta che avviene un <strong>aggiornamento<\/strong> o un&#8217;<strong>eliminazione<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a --delete --backup --backup-dir=\/path\/to\/backups \/path\/to\/source destination<\/code><\/pre>\n\n\n\n<p>Facciamo un esempio:<\/p>\n\n\n\n<p>In questo caso vogliamo sincronizzare la cartella &#8220;aprile&#8221; con la cartella &#8220;copia&#8221; e usare la cartella &#8220;backup&#8221; per conservare un backup dei file modificati o eliminati.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -a --delete --backup --backup-dir=\/home\/vbox\/Scaricati\/backup\/ \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/aprile\/ \/home\/vbox\/Scaricati\/copia\/<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"83\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-1024x83.png\" alt=\"Comando Rsync Opzione Backup\" class=\"wp-image-134486\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-1024x83.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-300x24.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-768x62.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-120x10.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup-1536x125.png 1536w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-backup.png 1702w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Il risultato sar\u00e0 che: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>i file nella cartella aprile vengono copiati nella cartella <em>copia;<\/em><\/li>\n\n\n\n<li>i file nella cartella <em>copia<\/em> che non sono presenti in <em>aprile<\/em>, verranno eliminati (grazie all&#8217;opzione <code>--delete<\/code>); quelli da aggiornare verranno sovrascritti;<\/li>\n\n\n\n<li>tutti i file interessati dal processo di copia, quindi quelli aggiornati o eliminati nella cartella <em>copia<\/em>, verranno prima salvati nella cartella di backup (nell&#8217;esempio la cartella con nome &#8220;backup&#8221;).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"come-aggiungere-la-barra-di-progresso\">Come aggiungere la barra di progresso<\/h3>\n\n\n\n<p>Quando facciamo sincronizzazioni di cartelle o file pesanti, pu\u00f2 essere comodo poter <strong>seguire l&#8217;avanzamento<\/strong> della copia. Il comando rsync ha un&#8217;opzione molto utile a questo proposito: <code>--progress<\/code>.<\/p>\n\n\n\n<p>Usando questa opzione ci verranno mostrate diverse informazioni:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la quantit\u00e0 di dati trasferiti<\/li>\n\n\n\n<li>la percentuale<\/li>\n\n\n\n<li>la velocit\u00e0 di trasferimento<\/li>\n\n\n\n<li>il tempo restante.<\/li>\n<\/ul>\n\n\n\n<p>Qui sotto puoi vedere un esempio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"296\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress-1024x296.png\" alt=\"Comando Rsync Opzione Progress\" class=\"wp-image-134487\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress-1024x296.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress-300x87.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress-768x222.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress-120x35.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-progress.png 1076w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"come-avere-dettagli-sui-file-durante-la-copia\">Come avere dettagli sui file durante la copia<\/h3>\n\n\n\n<p>L&#8217;opzione <code>--itemize-changes<\/code> o <code>-i <\/code>ci permette di vedere in tempo reale cosa sta facendo il comando durante l&#8217;esecuzione. In particolare ci permette di capire se vengono <strong>modificati <\/strong>gli attributi dei file o se vengono <strong>creati nuovi file<\/strong>.<\/p>\n\n\n\n<p>Possiamo aggiungere l&#8217;opzione al comando rsync in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rsync -ai \/home\/vbox\/Documenti\/SupportHost\/articoli\/2025\/aprile\/ \/home\/vbox\/Scaricati\/backup\/<\/code><\/pre>\n\n\n\n<p>Come vedi in questo caso abbiamo combinato le opzioni a e i.<\/p>\n\n\n\n<p>Vediamo come si legge l&#8217;output dell&#8217;opzione <code>--itemize-changes<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Il primo carattere indica il tipo di trasferimento:\n<ul class=\"wp-block-list\">\n<li><code>&lt;<\/code><strong> <\/strong>vuol dire che il file \u00e8 inviato<\/li>\n\n\n\n<li><code>&gt;<\/code> indica un file ricevuto<\/li>\n\n\n\n<li><code>c<\/code> indica un cambiamento a livello locale, come la creazione del file<\/li>\n\n\n\n<li><code>h<\/code> indica gli hard link<\/li>\n\n\n\n<li><code>.<\/code> indica che non \u00e8 stato aggiornato.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Il secondo carattere indica il tipo di file\n<ul class=\"wp-block-list\">\n<li>f &#8211; file<\/li>\n\n\n\n<li>d &#8211; cartella<\/li>\n\n\n\n<li>l &#8211; link simbolico<\/li>\n\n\n\n<li>D &#8211; dispositivo<\/li>\n\n\n\n<li>s &#8211; file speciali.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Il terzo valore indica il checksum. Un cambiamento nel checksum sar\u00e0 rappresentato da una <strong>c<\/strong>.<\/li>\n\n\n\n<li>La dimensione. Un cambiamento sar\u00e0 rappresentato da una <strong>s<\/strong>.<\/li>\n\n\n\n<li>Se il timestamp \u00e8 stato modificato, vedremo una<strong> t<\/strong>.<\/li>\n\n\n\n<li>Le modifiche ai permessi saranno indicate con <strong>p<\/strong>.<\/li>\n\n\n\n<li>Se cambia il proprietario, vedremo una <strong>o<\/strong>.<\/li>\n\n\n\n<li>Per il gruppo vedremo una <strong>g<\/strong>.<\/li>\n\n\n\n<li>\u00c8 uno slot che viene mantenuto per usi futuri, al momento non indica nulla.<\/li>\n\n\n\n<li>Si riferisce ai cambiamenti ACL, se ce ne sono vedremo una <strong>a<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Ecco un esempio dell&#8217;uso del comando rsync con l&#8217;opzione <code>-i<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"135\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i-1024x135.png\" alt=\"Comando Rsync Opzione I\" class=\"wp-image-134488\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i-1024x135.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i-300x40.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i-768x101.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i-120x16.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/11\/comando-rsync-opzione-i.png 1078w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Prendiamo come esempio questo output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;f.st...... esempio.txt<\/code><\/pre>\n\n\n\n<p>Come si legge l&#8217;output:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>&gt;<\/code> indica che il file \u00e8 stato cambiato nella posizione di destinazione;<\/li>\n\n\n\n<li><code>f<\/code> indica che si tratta di un file;<\/li>\n\n\n\n<li><code>s<\/code> indica che \u00e8 cambiata la dimensione del file;<\/li>\n\n\n\n<li><code>t <\/code>indica che \u00e8 cambiato il timestamp.<\/li>\n<\/ul>\n\n\n\n<p>In questo altro caso:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.f....og... esempio.txt<\/code><\/pre>\n\n\n\n<p>Nell&#8217;output qui sopra la <code>o<\/code> e la <code>g<\/code> indicano che sono stati aggiornati il <strong>proprietario <\/strong>(o) e il <strong>gruppo<\/strong> (g) del file.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"evitare-sovrascritture-indesiderate-con-lopzione-update\">Evitare sovrascritture indesiderate con l&#8217;opzione update<\/h3>\n\n\n\n<p>In base al tipo di sincronizzazione che vogliamo effettuare, \u00e8 possibile che vogliamo evitare sovrascritture quando il file che \u00e8 gi\u00e0 presente nella <em>destinazione<\/em> \u00e8 stato aggiornato <strong>pi\u00f9 di recente<\/strong> rispetto al file nella cartella di <em>origine<\/em>.<\/p>\n\n\n\n<p>In questi casi ci viene in aiuto l&#8217;opzione <code>-u<\/code> (<code>--update<\/code>).<\/p>\n\n\n\n<p>Se usiamo rsync con l&#8217;opzione -u i file nella destinazione che hanno una <strong>data di modifica<\/strong> successiva a quella del file nella cartella di origine, non verranno sovrascritti.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"c\">Conclusioni<\/h2>\n\n\n\n<p>Il comando rsync \u00e8 utile per creare un <strong>backup<\/strong> su un altro dispositivo, ma anche per tenere<strong> sincronizzate le cartelle tra un pc locale e un server remoto<\/strong>. In questa guida abbiamo visto esempi di utilizzo del comando insieme alle sue principali opzioni. Le opzioni ci permettono di estendere l&#8217;uso del comando in base alle nostre esigenze ad esempio avendo maggiori dettagli durante la copia (<em>progress<\/em>) o evitando di perdere dati importanti facendo prima un backup (opzione <em>backup<\/em>) e preservando i file modificati che rischiano una sovrascrittura (opzione <em>update<\/em>).<\/p>\n\n\n\n<p>Conoscevi gi\u00e0 questo comando? Condividi la tua esperienza nei commenti.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi sapere come tenere cartelle sincronizzate tra due dispositivi o tra computer e server? Il comando rsync su Linux ha proprio questa funzione: ci permette di copiare file e cartelle, tenerle sincronizzate e fare backup per evitare di sovrascrivere accidentalmente i dati. In questa guida ti mostreremo i principali casi d&#8217;uso e le opzioni di [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":137574,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[67],"tags":[],"class_list":["post-134476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/134476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/comments?post=134476"}],"version-history":[{"count":10,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/134476\/revisions"}],"predecessor-version":[{"id":137636,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/134476\/revisions\/137636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media\/137574"}],"wp:attachment":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media?parent=134476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/categories?post=134476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tags?post=134476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}