Modi per recuperare un .bash_history mancante a causa di un disco pieno al 100%?


1

Sono state aperte due sessioni di Putty su un Debian 6 Linux. I file di registro hanno portato a un disco completo. Manca la cronologia bash di tutte le sessioni della shell, e anche oltre (ciò potrebbe essere dovuto a una modalità di scrittura bloccata, con gli ultimi blocchi tagliati)

  • Esiste un modo di recupero o un file cronologico duplicato?
  • Hai un cron-job in esecuzione che esegue regolarmente il backup della tua cronologia bash?

Le sue sessioni sono terminate, quindi la storia è sparita.
Ramhound,

Sfortunato, ho perso la mia storia bash,
peccato

Risposte:


3

A meno che tu non abbia impostato tu stesso un backup, penso che tu sia sfortunato. Dubito che qualsiasi distro utilizzi le impostazioni predefinite che eseguono il backup della cronologia, ma senza ispezionare in dettaglio il sistema sarebbe impossibile dirlo con certezza.

Se le sessioni sono ancora in esecuzione , tuttavia, è possibile provare a eseguire il historycomando. Sono abbastanza sicuro che legge semplicemente ~/.bash_history, ma forse lo memorizza in memoria fino al prossimo comando?

È inoltre possibile copiare l'output della shell in un file e grepalmeno per ripristinare gli ultimi comandi.

Per quanto riguarda il backup, ho scoperto personalmente che GitHub è un ottimo posto per .bash_history . Un po 'eccessivo per la maggior parte delle persone, forse, ma mantiene sempre pronti i comandi comuni.


Le voci della cronologia di Bash sono impegnate su disco solo ogni tanto per impostazione predefinita; se non hai ancora chiuso la (e) sessione (e) a cui sei interessato e supponendo di non aver fatto nulla export PROMPT_COMMAND='history -a'o qualcosa di altrettanto atroce, fare ciò historypotrebbe farti almeno le ultime centinaia di righe di ciò che sarebbe andato in ~ / .bash_history. Non posso far male a provare, sempre supponendo che la conchiglia o le conchiglie in questione non siano ancora state uccise; se hanno, temo che tu sia SOL.
Aaron Miller,

Inoltre, +1 per la perversità di mettere .bash_historysotto VC ...
Aaron Miller l'

@AaronMiller dopo, è un riepilogo dei comandi. Quindi nessun ricciolo di token autentici e altro "materiale sensibile". E sì, la sessione è stata purtroppo uccisa.
Lorenz Lo Sauer,

@LoSauer Oh, non sto dicendo che è particolarmente un rischio per la sicurezza, almeno non per chiunque si lavi le mani dopo essere andato in bagno e non includa le password nelle sue linee di comando - solo che l'idea di mettere un file di stato come quello sotto il controllo della versione mi sembra un po 'perverso. (Non che non lo prenderei in considerazione, in circostanze che lo hanno reso utile.)
Aaron Miller,

@AaronMiller Due cose che non garantiscono materiale sensibile: ogni riga viene rivista prima di impegnarsi (per generalizzare e aggiungere tag) e HISTCONTROLcontiene ignorespace.
l0b0,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.