Mamma mia se mi sono cagato addosso!
Vorrei non aver mai avuto la possibilità di scrivere questo post, ma già che è successo almeno aperiamo sia di aiuto ad altri.
Ieri pomeriggio mi stavo preparando per tornare a Pisa per la settimana. Come di consueto, ho iniziato a spostare i profili di Firefox e Thunderbird dal PC fisso al portatile in modo da avere sempre mail e impostazioni con me. Per fare questo, di solito prima cancello le due cartelle del profilo dal portatile, e poi copio le nuove dal PC al portatile.
Ieri però mi è preso un raptus di follia momentanea e invece di spostare le due cartelle mi è venuto l’istinto di ripetere la prima operazione. Mi sono reso conto di cosa stava succedendo mentre vedevo la barra di progresso a testimoniare la cancellazione delle cartelle dei profili dal PC.
Non mi hanno sentito a Roma solo perché sono rimasto ammutolito per lo choc.
Una volta ripresomi, ho iniziato a fare mente locale e a cercare su internet un modo per recuperare dei file eliminati da un filesystem reiserfs. Nelle ricerche ho appreso che non è così semplice recuperare dei file dal reiserfs (mentre pare che per ext2/3 la procedura sia più immediata), tuttavia ho trovato quasi subito (fortunatamente) questo articolo che mi ha salvato la vita. Ho letto l’articolo e tutti i commenti e poi dato che avevo sufficienti partizioni e spazio su disco disponibili, ho iniziato la procedura descritta in uno dei commenti, in modo da operare su un’immagine di backup e non toccare mai il filesystem vero e proprio, in modo da metterlo al sicuro e per fare più prove se necessario. Ovviamente prima mi sono scaricato una bella knoppix per fare il tutto.
Dopo aver fatto l’immagine della partizione (fortuna che i dischi SATAII hanno un transfer rate medio di 50MB/s) ho quindi fatto partire l’utility per ricostruire l’albero della partizione.
Nei commenti c’era scritto che a volte i file recuperati vengono messi nella cartella lost+found, ma che a volte tornano diritti nella cartella di origine. Ovviamente Murphy era in agguato e io ho trovato tutto nella cartella lost+found.
Sembrerebbe sia mal di poco, ma purtroppo tutti i file che finiscono in lost+found vengono rinominanti in modo che risultino incomprensibili a prima vista.
Nel mio caso, fortunatamente, i file persi (almeno quelli di interesse) erano archivi mail in solo testo, con all’interno del testo sempre presente negli header delle mail (io mi sono aggrappato a x-mozilla-status per la ricerca).
Piccolo problema: non avendo una partizione a parte per la cartella /home, ho dovuto fare il recupero di tutto il filesystem, con il risultato che solo nella cartella lost+found (senza contare le sottocartelle) c’erano più di 34000 file.
Googlando un po’ero riuscito a trovare un comando che cercasse una stringa all’interno dei file, e che visualizzasse in output il nome (nel mio caso specifico: “grep -lri x-mozilla-status *”). Peccato che grep si rifiuti di funzionare su 34000 file…
Il prossimo passo allora è stato quello di creare delle cartelle e spostare in queste solo un certo numero di file, e di lanciare il comando grep all’interno di quelle cartelle. In questo modo sono riuscito a scovare un sacco di file corrispondenti agli archivi mail, e per mia fortuna anche i segnalibri di Firefox, visto che contenevano quella chiave di ricerca.
Dopo aver controllato una ventina di cartelle, fortunatamente, una botta di culo: all’interno di una delle sottocartelle di lost+found erano stati recuperati i profili di Firefox e Thunderbird (quasi) intatti! Allora li ho subito presi, spostati sul portatile, cancellato tutte le cose inutili, fatto ricreare per bene i profili dai programmi.
Dopo questo passaggio, alcune mail risultavano bianche, e un paio di cartelle mancavano proprio all’appello. Aprendo i file mbox con un editor di testi, mi sono reso conto che erano corrotti in fondo, e quindi ho segato tutta la parte rovinata lasciando solo le mail buone. Per quanto riguarda le cartelle mancanti, ho dovuto nuovamente cercare in lost+found e sottocartelle con l’indirizzo mail dell’account in questione per ritrovare gli archivi necessari. Fortunatamente sono spuntati fuori tutti.
Alla fine di tutto, mi sono ritrovato con una ventina di mail perse, lo stesso per due cartelle della rubrica (si è salvata solo la cartella Rubrica personale corrispondente al file abook.mab) e tutte le password salvate per quanto riguarda Firefox.
Ora inizio recupero: 18.00; ora fine recupero: 4.30. Non male, ma almeno tutto si è risolto!
Una volta rimesso tutto a posto, la prima cosa che ho fatto è stata creare due script che spostassero i due profili dal portatile al fisso e viceversa in modo autonomo, in modo da non incappare nuovamente in errori del genere. Appena rientrerò a casa, farò anche un altro script da mettere nella crontab che faccia un backup dei due profili ogni volta che spengo il computer.
Cosa insegna questa esperienza: sempre automatizzare le operazioni che si fanno regolarmente: si eviteranno gli errori casuali. Inolte, come se non si sentisse già abbastanza: fare sempre un backup dei dati sensibili, ma per davvero!!!