SYSADMIN JOURNAL / Linux · Networking · Security · HostingProcedure, appunti e soluzioni tecniche
Bash

Migrare file e database web via rsync e SSH: verificare il trasferimento prima del cutover

Pubblicato il 12/11/2026

Guida basata su interventi documentati. Trasferimento via SSH con chiavi autorizzate e import di quattro database completati, mantenendo separata la verifica dati dal cambio DNS.

Scenario

In una migrazione di hosting, l'obiettivo era spostare i file di diversi siti e i rispettivi database usando accesso SSH root con chiave già autorizzata. Il primo risultato da misurare era la correttezza del trasferimento, non la semplice disponibilità della porta SSH.

Preparazione

Verificare capacità disco, versione PHP e MariaDB, UID/GID dei file, ACL e permessi del DocumentRoot. Un account amministrativo sul server di destinazione deve avere accesso limitato al tempo necessario alla migrazione.

Trasferimento file

# Dal server di destinazione, con una chiave autorizzata
rsync -aHAX --numeric-ids --info=progress2 \n root@SORGENTE:/var/www/SITO/web/ /var/www/SITO/web/

# Verifica senza scrivere
rsync -aHAXn --delete --itemize-changes \n root@SORGENTE:/var/www/SITO/web/ /var/www/SITO/web/

Prestare molta attenzione a --delete: usarlo soltanto in simulazione oppure dopo aver verificato directory sorgente e destinazione.

Import dei database

mysqldump --single-transaction --routines --triggers --events \n -u USER -p NOME_DB > backup.sql
sha256sum backup.sql
mariadb -u USER_DEST -p NOME_DB_DEST < backup.sql
mariadb -u USER_DEST -p -e 'SHOW TABLES FROM NOME_DB_DEST;'

Esito del trasferimento

Nel caso documentato l'accesso SSH con chiave era operativo e i file di tre siti erano stati sincronizzati. Anche quattro import SQL sono terminati correttamente. Le verifiche di compatibilità Joomla e le credenziali applicative di altri siti erano invece ancora da risolvere: non fanno parte del risultato dichiarato.

Check prima del go-live

Provare HTTP con Host header o record hosts temporaneo, controllare applicazione e connessione SQL, confrontare conteggi e checksum, quindi procedere al cutover soltanto dopo test completi e con rollback disponibile.

Articoli correlati

Usare segnaposto e verificare l'ambiente prima di eseguire i comandi. Nessuna credenziale o identificativo infrastrutturale reale è riportato.