Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_previous_publish_date is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_notification_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_15fc9beda87889d8c62a75702cb443ae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_15fc9beda87889d8c62a75702cb443ae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_06ff8a75f37f27cfc9e393b7fc750226 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_06ff8a75f37f27cfc9e393b7fc750226 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_ec5cc2640a2c655b5c5e55ca56c0dc12 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_ec5cc2640a2c655b5c5e55ca56c0dc12 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_563f7be9897a11f48595fffb839326bb is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_563f7be9897a11f48595fffb839326bb is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_83a57d9bc25c4c13a3489b9b403aca65 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_83a57d9bc25c4c13a3489b9b403aca65 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_a2193abff61c261adb1f95ff83dd2404 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_a2193abff61c261adb1f95ff83dd2404 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Perché Rsync può rompere i backup incrementali senza errori evidenti

Perché Rsync può rompere i backup incrementali senza errori evidenti

Rsync 3.4.3, nato come rilascio di sicurezza, mostra regressioni che possono compromettere i backup incrementali. Servono test su hard link, spazio su disco e ripristino.

Rsync 3.4.3 può causare un problema serio: i backup incrementali smettono di funzionare correttamente: molti utenti hanno risolto tornando alla versione 3.4.1, che ripristina il comportamento atteso. Il problema non è banale perché rsync non è un tool marginale, ma uno dei mattoni storici dei backup Unix e Linux, usato da amministratori, NAS, script cron e procedure di disaster recovery.

Il dato tecnico più rilevante è che rsync 3.4.3 corregge 6 vulnerabilità di sicurezza, ma alcune correzioni sembrano aver alterato comportamenti usati da anni nei backup incrementali. Quando rsync è utilizzato in modalità daemon, i backup basati su hard link (collegamenti che permettono a più copie di condividere gli stessi dati senza occupare spazio aggiuntivo) non riutilizzano i file presenti nel backup precedente e trasferiscono nuovamente tutti i dati. Di conseguenza, dopo pochi cicli di backup, lo spazio disponibile sui dischi può esaurirsi rapidamente.

Perché il problema con rsync colpisce proprio i backup incrementali

Molti script usano rsync per creare snapshot completi solo in apparenza. In pratica, ogni backup contiene una struttura completa di cartelle e file, ma i file che non hanno subito modifiche condividono lo stesso inode, ovvero la struttura del file system che memorizza le informazioni sul file, grazie all’uso degli hard link. Il risparmio di spazio deriva proprio da questo meccanismo: se un file rimane invariato, non viene copiato di nuovo, ma si riutilizza semplicemente il riferimento già esistente.

Il meccanismo tipico usa --link-dest="../backup-precedente": Rsync confronta la sorgente con la directory indicata e, quando trova file identici per dimensione, timestamp e metadati rilevanti, crea un link fisico invece di riscrivere i dati. Se questa logica salta, il backup resta formalmente valido, ma perde la sua caratteristica essenziale: occupa spazio come una copia completa.

Il tema scottante delle modifiche assistite da LLM (AI)

La discussione pubblica è esplosa anche per un motivo culturale: alcuni commit ovvero alcune modifiche integrate di recente nel codice di rsync risultano attribuite a Claude.

Ciò significa che alcuni sviluppatori hanno utilizzato ad esempio Claude Code per intervenire direttamente sul sorgente di rsync. Un LLM (Large Language Model) può aiutare a scrivere codice, generare test, rivedere patch o proporre refactoring: il problema nasce quando l’output entra in aree sensibili senza revisione profonda, test di regressione e casi d’uso realistici.

Rsync non manipola dati astratti: decide cosa copiare, cosa saltare, cosa cancellare e cosa collegare tramite inode: una piccola modifica nel controllo dei percorsi, nella gestione di chroot o nei permessi può cambiare il comportamento di un vasto numero di sistemi di backup.

Il codice generato o assistito non è diverso dal codice scritto a mano quando arriva in produzione: deve essere sottoposto agli stessi controlli, processi di verifica e standard qualitativi. Anzi, in molti casi richiede persino maggiore attenzione, perché può sembrare corretto e coerente a prima vista pur non rispettando le regole fondamentali, i vincoli logici e i comportamenti consolidati su cui si basa storicamente il software.

Cosa controllare subito sui sistemi già aggiornati all’ultima versione di rsync

Chi usa rsync 3.4.3, o pacchetti 3.2.7 con backport di sicurezza recenti, dovrebbe verificare i backup incrementali. Il controllo minimo consiste nel confrontare lo spazio realmente occupato e il numero di link dei file che non hanno subito modifiche.

Su Linux si può usare stat su un file che non cambia tra due snapshot: il campo link count deve aumentare se lo stesso inode compare in più backup.

Anche du -sh e du -sh --apparent-size aiutano a distinguere spazio fisico e dimensione apparente. Se ogni nuova esecuzione consuma quasi lo stesso spazio della sorgente, l’opzione --link-dest non sta lavorando.

Un test prudente prevede l’uso di risorse di piccole dimensioni con un backup incrementale tramite rsync in una destinazione temporanea. Dopo la seconda esecuzione, i file invariati devono condividere gli inode con quelli del primo snapshot.

La vicenda ricorda una regola spesso dimenticata: un backup riuscito non coincide con un ripristino riuscito. Nel caso di rsync 3.4.3 il rischio è ancora più subdolo, perché il backup può concludersi senza errori e produrre file leggibili, ma consumare spazio in modo anomalo.

Dopo alcuni giorni, il sistema non riesce più a mantenere correttamente il numero di backup previsto dalla politica di retention (conservazione delle copie nel tempo): gli snapshot più vecchi sono eliminati prima del previsto oppure lo spazio di archiviazione si esaurisce completamente, portando il filesystem a raggiungere il 100% di utilizzo.

Ti consigliamo anche

Link copiato negli appunti