Se avete la necessità di salvare i comandi eseguiti all’interno del terminale, allora sicuramente vi interesserà questa guida di oggi! In particolare, andremo a scoprire insieme come eseguire backup cronologia del terminale su Linux seguendo delle semplici operazioni.
Premessa
Il terminale memorizza l’intera cronologia all’interno di un file chiamato .bash_history. Dato che questo viene salvato nella directory home, chiunque può modificarlo accedere allo storico dei comandi eseguiti. Oltre a ciò, ogni singolo utente del sistema operativo ha un file dedicato.
Se ad esempio volete visualizzare la cronologia direttamente dal terminale di un utente specifico, vi basta semplicemente sfruttare il comando cat /home/user/.bash_history. In alternativa, per visualizzare la cronologia dell’utente corrente a cui è stato effettuato l’accesso, basta semplicemente eseguire history.
Dato che la cronologia è un semplice file, può essere ricercato come un normale file di testo usando lo strumento Grep. Ad esempio, se volete trovare le istanze di git clone, è necessario sfruttare cat /home/user/.bash_history | grep ‘git clone’. La stessa cosa può essere fatta anche con l’utente attualmente connesso tramite history | grep ‘termine da ricercare’.
Come eseguire il backup della cronologia del terminale su Linux
Come anticipato nelle scorse righe, la cronologia del terminale viene salvata attraverso un semplice file di testo che contiene tutti i comandi eseguiti dall’utente. Ciò significa che è molto facile fare il backup di esso per ripristinarlo in seguito oppure per avere una copia di riserva.
Detto ciò, per creare un backup basta semplicemente eseguire cat ~/.bash_history > backup-cronologia. Infine, è possibile fare il backup della cronologia del terminale di un altro utente tramite il comando cat /home/nomeutente/.bash_history > backup-cronologia. Naturalmente, assicuratevi di sostituire nomeutente con lo username della persona.
Linux consente anche di eseguire il backup solo di comandi specifici presenti nella cronologia. Per fare ciò, è necessario sfruttare Grep. Ad esempio, per eseguire il backup dei comandi git clone o git, bisogna utilizzare cat ~/.bash_history | grep ‘git’ >> backup-cronologia o cat /home/nomeutente/.bash_history | grep ‘git’ >> backup-cronologia.
Il filtro Grep può essere applicato anche al comando history in questo modo: history | grep ‘git’ >> backup-cronologia.
Come ripristinare il backup della cronologia del terminale su Linux
In caso di bisogno potete ripristinare l’intera cronologia andando ad eliminare il file originale e copiando il backup eseguito precedentemente. La prima operazione da fare è quella di cancellare il file originale della cronologia aprendo il terminale e sfruttando il comando rm ~/.bash_history. Fatto ciò, usate mv backup-cronologia ~/.bash_history per rinominare backup-cronologia in .bash_history.
Compiuto correttamente questo step, eseguite history -rw per ricaricare la funzione di cronologia del terminale e dopodiché visualizzate tutti i comandi eseguiti (presi dal backup) con history.
Nel caso in cui aveste bisogno di ripristinare il backup della cronologia di altri utenti, dovrete prima accedere allo username usando il comando su nomeutente. Fatto ciò, eliminate il file della cronologia corrente che si trova nella cartella home dell’utente in questione tramite rm ~/.bash_history e dopodiché rinominate il file di backup come .bash_history sfruttando mv /percorsofile/backup-cronologia ~/.bash_history.
Concludete l’operazione scrivendo le modifiche con history -rw ed eseguendo history per visualizzare i comandi ripristinati all’interno del terminale.
Dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram e seguici su Instagram. Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook.