Licenza
Sistema operativo
Linux
Lingua
Inglese
Recensito da

Utility

Incron

Eseguire script quando cambia qualcosa sul disco rigido

Incron è un lanciatore di script basato sugli eventi di file e cartelle. Funziona un po' come Cron, con la differenza che la condizione in cui un programma o script viene eseguito non dipende da data e ora, ma dalle modifiche che avvengono su un file o una cartella. È uno strumento molto utile, perché si può, per esempio, decidere di monitorare il file /var/log/auth.log per avviare uno script che ci manda una notifica via email ogni volta che qualche utente fa il login sul nostro computer. Si può agire quando un file o una cartella viene modificato o soltanto letto, controllando quindi il funzionamento di server e demoni in modo automatico, senza dover accedere manualmente ai file di log per vedere se è cambiato qualcosa.
Per installare incron su un sistema tipo Ubuntu basta dare i comandi: sudo add-apt-repository ppa:altair-ibn-la-ahad/incron sudo apt-get update sudo apt-get install incron In questo modo viene installata l'ultima versione disponibile nel repository dell'autore.
Seguendo la logica di Cron, si possono modificare le regole di Incron usando il comando incrontab con l'opzione e per la modifica e l per la sola lettura.
Ogni riga del file viene scritta così: /file/da/controllare EVENTO programmaDaEseguire argomenti Gli eventi possibili sono diversi, in particolare:
  • IN_ACCESS Qualcuno sta leggendo il file
  • IN_MODIFY Qualcuno sta mofidicando il file
  • IN_ATTRIB I metadati (proprietario, permessi) del file vengono modificati
  • IN_CLOSE_WRITE File aperto in scrittura, e poi chiuso
  • IN_CLOSE_NOWRITE File aperto, ma senza scrittura, e poi chiuso
  • IN_CLOSE Uno qualsiasi dei due precedenti
  • IN_OPEN File aperto da qualche programma
  • IN_MOVED_FROM File spostato fuori dalla cartella attuale
  • IN_MOVED_TO File spostato nella cartella attuale
  • IN_MOVED Uno qualsiasi dei due precedenti
  • IN_DELETE Il file è stato cancellato
  • IN_DELETE_SELF La cartella è stata cancellata
  • IN_ALL_EVENTS Uno qualsiasi degli eventi è avvenuto
Per gli argomenti da fornire al programma che si vuole eseguire, è possibile utilizzare queste forme speciali:
  • $@ Il percorso del file che ha causato l'evento, senza il nome
  • $# Il nome del file che ha causato l'evento
  • $% Il nome dell'evento
  • $$ Il simbolo dollaro