Voglio correre mysql_tzinfo_to_sql
ogni volta che cambia il pacchetto tzinfo (su Ubuntu Server). Ho pensato che Puppet potesse occuparsene.
Ho pensato che Puppet avrebbe reagito a una modifica della versione del pacchetto o, in caso contrario, a una modifica dei timestamp di un file contenuto nel pacchetto.
L'unico modo in cui posso vedere per fare questo è avere una risorsa senza azione diretta e avere un dirigente a seconda di ciò.
Le domande che ho sono:
- È possibile definire un file che viene utilizzato solo per notificare un'altra risorsa (come exec )?
- È possibile definire una risorsa pacchetto in modo che un'altra risorsa (come exec ) venga attivata quando il pacchetto cambia o si aggiorna?
- È possibile definire una risorsa exec che esegue una riga di comando della shell (con pipe e reindirizzamento per esempio) invece di un comando dal filesystem?
Presi tutti insieme, sembra travolgente.
FOLLOWUP : risposte fantastiche! Nell'interesse della completezza (e per la cronaca), dovrei notare quanto segue:
- Il comando di shell completo di interesse è
mysql_tzinfo_to_sql | mysql -u root -p password
(carica tzinfo in un database MySQL per l'uso di MySQL). - Il controllo di
/etc/tzinfo
sarebbe inutile poiché si tratta semplicemente della configurazione del fuso orario locale; l'obiettivo è quello di controllare i cambiamenti nei dati tzinfo stessi (quindi la sorveglianza di/usr/share/zoneinfo
). - Allo stesso modo, i contenuti sarebbero la cosa sbagliata da guardare - poiché è probabile che non cambino; la cosa migliore sarebbe di guardare il mtime o tutti dal momento che i FileTimes dovrebbe cambiare dopo ogni aggiornamento tzinfo.
Inoltre, James Turnbull ha scritto tutto sull'auditing quando è stato introdotto. Il riferimento al metaparametro contiene una breve descrizione del funzionamento del audit
parametro.