Oggi esamineremo l'esempio di crontab per eseguire uno script ogni 5 minuti.
Esempio di Crontab
Recentemente ho installato il server memcached sul sistema operativo CentOS da utilizzare come meccanismo di memorizzazione nella cache per il mio forum VBulletin. Per assicurarmi che sia sempre in esecuzione, ho scritto uno script di shell per controllare lo stato del processo e riavviarlo se non è in esecuzione. Ora, per assicurarmi che questo script venga eseguito a un intervallo specifico, ho usato crontab
.
Script di shell di esempio di Crontab
Lo script della shell è estendibile e puoi scrivere uno script simile per riavviare qualsiasi servizio o processo nei sistemi Unix.
Ecco lo script della shell per il riavvio automatico del servizio che sto usando nel mio esempio crontab.
memcached_restart.sh
#!/bin/bash
ps -eaf | grep 11211 | grep memcached
# if not found - equals to 1, start it
if [ $? -eq 1 ]
then
/usr/local/bin/memcached -d -u nobody -p 11211 -U 11211 -l 127.0.0.1
else
echo "eq 0 - memcached running - do nothing"
fi
Il comando principale in questo script è controllare il processo, utilizzare il comando "ps" con grep per assicurarsi che restituisca solo il servizio desiderato e non restituisca nulla se il servizio non è in esecuzione.
Una volta che hai trovato il comando da utilizzare, l'unica cosa è emettere un comando di avvio per eseguire il servizio.
Verifica lo script per assicurarti che funzioni come previsto prima di impostarlo per l'esecuzione a intervalli regolari utilizzando crontab.
Crontab ogni 5 minuti esempio
Una volta terminato lo script, è necessario impostare un processo cron per eseguire questo script a intervalli regolari.
Ho usato la voce seguente per eseguire questo script ogni 5 minuti.
*/5 * * * * /Users/pankaj/Downloads/memcached_restart.sh > /Users/pankaj/Downloads/memcache_restart.log 2>&1
Errore Crontab – comando non trovato
Nota che crontab non considera le variabili di ambiente come PATH, quindi devi sempre fornire il percorso assoluto per qualsiasi programma o percorso di directory. Se ricevi l'errore "comando non trovato" durante l'esecuzione di un comando in uno script della shell crontab e funziona correttamente se esegui te stesso, il problema sarà l'utilizzo del percorso relativo.
Riferimento:Wikipedia