
Ti avevo detto di non farlo.
Un veloce post per i mometi di angoscia: non ho fatto il B(ackup) e ho cancellato $unaMarea di file che non dovevo cancellare. Quasi avessi fatto un rm -rf /, non così devastante, ma quasi.
Insomma, beandomi del mio fantastico server di sviluppo raid-dotato, stamattina mi sono azzardato a cancellare dei sorgenti modificati e stupidamente non ancora messi in svn. Sì, li ho cancellati per errore (ovviamente, non sono masochista) e li ho cancellati per davvero. Cioè, non messi nel cestino, ma levati da un filesystem ext3 con un bel rm.
Il raid 1 e' bellissimo quando muore un disco, ma è perfettamente inutile nel resto dei casi.
Passati i canonici 5 minuti di angoscia, ho trovato questo.
Per debian il repository è qui. Sì, sembra un repo di ubuntu, nessuno è perfetto.
Installato, eccolo in azione:
Un veloce post per i mometi di angoscia: non ho fatto il B(ackup) e ho cancellato $unaMarea di file che non dovevo cancellare. Quasi avessi fatto un rm -rf /, non così devastante, ma quasi.
Insomma, beandomi del mio fantastico server di sviluppo raid-dotato, stamattina mi sono azzardato a cancellare dei sorgenti modificati e stupidamente non ancora messi in svn. Sì, li ho cancellati per errore (ovviamente, non sono masochista) e li ho cancellati per davvero. Cioè, non messi nel cestino, ma levati da un filesystem ext3 con un bel rm.
Il raid 1 e' bellissimo quando muore un disco, ma è perfettamente inutile nel resto dei casi.
Passati i canonici 5 minuti di angoscia, ho trovato questo.
Per debian il repository è qui. Sì, sembra un repo di ubuntu, nessuno è perfetto.
Installato, eccolo in azione:
ltib@sindev:/data$ su
Password:
sindev:/data# ext3undel
Please select the ID of the FileSystem to recover from:
ID| Type | Device | MountPoint | Size
--+------+----------+------------+------
1 | ext3 | /dev/md1 | / | 19G
2 | ext3 | /dev/md0 | /boot | 471M
3 | ext3 | /dev/md2 | /data | 46G
ID: 3
Please select the file system to store the recovered files to.
(This must be on a different device than you restore from)
ID| Type | Device | MountPoint | Size
--+------+----------+------------+------
1 | ext3 | /dev/md1 | / | 19G
2 | ext3 | /dev/md0 | /boot | 471M
Destination ID: 1
Please specify the type of file(s) to recover. This is usually the
extension of the file (jpg, wav, mpg) or 'everything'.
FileSpec (everything): txt
* Cleaning up...
* Using PhotoRec v6.10
* Recovering files of type 'txt' from '/dev/md2' to '//recover'.
* File System on source drive: 'ext3'.
* Prepared command:
photorec /d //recover /cmd /dev/md2 partition_i386,options,mode_ext2,fileopt,everything,disable,txt,enable,search,freespace
Ready to go (y/n)?
No, non sono "ready to go", il suo sporco lavoro l'ha già fatto bene, ora che scrivo. Mi ha riempito di directory "recover.NUMERELLO" il filesystem di root, ognuna delle quali con dentro un un po' di file, di solito con il nome a caso ma con l'estensione corretta. Questo con un processore. Con l'altro, nel frattempo, ci ho fatto ordine e ho vagamente recuperato la situazione, perdendoci mattina e pomeriggio.
Ovviamente, farlo da un B(ackup) mi sarebbe costato una decina di minuti a star largo.
Ovviamente, farlo da un B(ackup) mi sarebbe costato una decina di minuti a star largo.
