La gestione dei file tra sistemi diversi è un gioco da ragazzi con
, una potente utility Linux per la sincronizzazione e il trasferimento di file in rete. Che si tratti di backup di dati, mirroring di directory o migrazione di file su server VPS o dedicati ad alte prestazioni di ava.hosting, rsync
__CODEBLOCK_de83740e3dea27acfa931b9339e54_SAFE__
garantisce l’efficienza copiando solo le modifiche tra origine e destinazione. Ad esempio, è possibile utilizzare
per eseguire il backup dei file del sito web ospitato da ava.hosting su un server remoto, riducendo al minimo la larghezza di banda e il tempo. Questa guida descrive l’installazione, l’uso e l’automazione di rsync
per una gestione dei file senza interruzioni, ottimizzata per l’affidabile infrastruttura di ava.hosting.rsync
La maggior parte delle distribuzioni Linux ha rsync preinstallato. Per verificare se è installato, eseguire:
rsync --version
Se non è installato, è possibile installarlo utilizzando il gestore di pacchetti della propria distribuzione:
sudo apt install rsync
sudo yum install rsync
sudo dnf install rsync
sudo pacman -S rsync
📌 Come trasferire file da Windows a un server remoto usando rsync via PuTTY SSH?
Per utilizzare rsync su Windows tramite PuTTY SSH, è necessario aver installato:
PuTTY per la connessioneSSH
rsync e OpenSSH su Windows
Pagent (opzionale) per l’autenticazione automatica con la chiave SSH
Se avete scaricato MSYS2, potete installare facilmente rsync usando pacman, il gestore di pacchetti di MSYS2.
pacman -Syu
pacman -Su
questo passo assicura che sia disponibile l’ultima versione del gestore di pacchetti.
pacman -S rsync
💡 Se avete bisogno di openssh per il trasferimento SSH, installate anche quello:
pacman -S openssh
Verifica dell’installazione
Per verificare che rsync sia stato installato correttamente, eseguire:
rsync --version
La sintassi di base di rsync è:
rsync [options] source destination
Per sincronizzare i file tra due directory locali:
rsync -av /source/directory/ /destination/directory/
Il trattino / nel sorgente assicura che venga copiato solo il contenuto della directory e non la directory stessa.
Per trasferire file da un sistema locale a un server remoto:
rsync -avz /local/directory/ user@remote_host:/remote/directory/
*Dopo aver aggiunto il comando in MSYS2, aggiungeremo i dati SSH per connetterci al server remoto e il risultato verrà visualizzato:
Questo comando copia in modo sicuro i file sul server remoto utilizzando SSH.
Verificare se il comando è stato eseguito con successo sul server remoto:
Per copiare i file da un server remoto al computer locale. Per impostazione predefinita, rsync utilizza SSH per la comunicazione sicura. È possibile specificare esplicitamente SSH con:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Se SSH utilizza una porta non predefinita (ad esempio, 2222), specificarla in questo modo:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Per eliminare i file extra nella destinazione che non sono presenti nell’origine:
Per prima cosa aggiungiamo i file extra nel terminale PuttySSH:
cd /home/user/test_backup/
touch file1.txt file2.log file3.jpg
mkdir extra_files
touch extra_files/old_file.txt
Ora sincronizzate la directory senza alcuni file e rsync cancellerà i file che non sono più presenti nella sorgente:
rsync -av --delete /source/directory/ /destination/directory/
📌 Cosa fa?
Tutti i file presenti sul server ma NON in test/locale vengono eliminati.
Risultato MSYS2
Risultato PuttySSH
Attenzione: Usare con cautela il comando –cancella, che rimuove in modo permanente i file dalla destinazione.
Per escludere file o directory specifiche:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/
Risultato MSYS2
Risultato PuttySSH
Per le esclusioni multiple, utilizzare:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
È possibile eseguire rsync in background utilizzando nohup:
nohup rsync -avz /source/ user@remote_host:/destination/
Questo permette al processo di continuare anche dopo il logout.
Nella direttiva locale abbiamo aggiunto un nuovo file new_file.txt33333333, poi abbiamo disconnesso il terminale PuttySSH e il comando precedente ci permette di inviare i file anche quando il server è disconnesso.
Per pianificare la sincronizzazione automatica utilizzando cron, aprire il crontab:
crontab -e
Aggiungere un lavoro per eseguire rsync ogni giorno a mezzanotte:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
è uno strumento indispensabile per la gestione dei file in Linux, che offre funzionalità efficienti di sincronizzazione e trasferimento in rete. Sia che stiate eseguendo il backup di un sito WordPress, il mirroring dei log o la migrazione dei dati sull’affidabile VPS di ava.hosting, rsync
__CODEBLOCK_de83740e3dea27acfa931b9339e54_SAFE__
fa risparmiare tempo e larghezza di banda. Ad esempio, è possibile utilizzare
per eseguire il backup sicuro della directory rsync
del server ava.hosting in una posizione remota, garantendo la sicurezza dei dati. Grazie all’infrastruttura ad alte prestazioni di ava.hostinge alle opzioni versatili di /var/www
, è possibile semplificare i flussi di lavoro, automatizzare i backup e gestire i file in tutta tranquillità.rsync