File cancellati accidentalmente usando GNU find -delete - come recuperare?

1

Stavo giocando con il pacchetto OSX find e GNU find da findutils (v 4.4.2) a fini di apprendimento. GNU find ha un'opzione -delete , che è auto-esplicativa. Ciò che non è, tuttavia, è che "Use of -delete attiva automaticamente l'opzione -depth", il che significa che rimuove in modo ricorsivo il contenuto della directory di lavoro corrente senza un avvertimento.

Il problema è che ho eseguito accidentalmente un comando del genere sul mio sistema, invece della sessione della shell remota.

Ho provato a ricercare gli interni dietro -delete , ma tutto ciò che ho potuto inventare era documenti GNU findutils ufficiali .

Come ho capito cosa è successo, ho spento il sistema per evitare la possibile sovrascrittura dei settori. Quindi, ho adottato un "approccio standard di ripristino" utilizzando

  • Procedura guidata di recupero dati EaseUS per Mac
  • Prosoft Data Rescue 3
  • Disk Drill
  • Guru di recupero dei dati Mac

ma senza risultati. La directory rimossa era in realtà un repository git con molti piccoli file. Dato che la cancellazione del disco è avvenuta quasi a zero, dubito che tutti potrebbero essere sovrascritti. Non è una situazione disastrosa perché ovviamente estraggo il contenuto del repository da remoto. Tuttavia, perdo file e diramazioni locali non pubblicate sotto .gitignore.

Esistono meccanismi OSX che potrei usare per recuperare questi file?

    
posta cellardoor_ncx 13.10.2015 - 20:57
fonte

1 risposta

1

OS X conserva i file cancellati nell'area di archiviazione della macchina del tempo locale se è stato abilitato (o se il sistema ha abilitato) un archivio locale.

tmutil snapshot

Se è possibile creare un'istantanea, è possibile accedere a Time Machine e ripristinare questi file. Se ricevi un errore del tipo ** Le istantanee locali non sono abilitate. ** allora non hai la possibilità di recuperare i file dal livello del SO. Dal momento che non esiste un altro meccanismo di recupero nel filesystem, hai una buona panoramica degli strumenti di recupero (utilizzo esclusivamente Data Rescue) e l'unica terza opzione sarebbe quella di individuare un backup valido del sistema o dei file in questione.

Ho l'abitudine di abilitare il negozio locale e forzare uno snapshot prima di fare qualcosa come root o qualsiasi cosa potrei rimpiangere dal terminale. Avendo commesso errori come questi nel corso degli anni, ho imparato ad avere quella "premonizione" per controllare il backup e ricontrollare la sintassi. In generale, provo a creare un elenco di file da eliminare e salvarlo in un file, quindi ho una pausa e un secondo script che esegue la rimozione anziché collegarli insieme. Non sarà di aiuto, ma è la mia esperienza e il modo per mitigare quando non riesco a garantire un buon backup.

sudo tmutil enablelocal
sleep 8 && tmutil snapshot
    
risposta data 13.10.2015 - 21:08
fonte

Leggi altre domande sui tag