Hari ini kita akan melihat contoh crontab untuk mengeksekusi skrip setiap 5 menit.
Contoh crontab
Baru-baru ini saya menginstal server memcached pada sistem operasi CentOS untuk digunakan sebagai mekanisme caching untuk forum VBulletin saya. Untuk memastikannya selalu berjalan, saya menulis skrip shell untuk memeriksa status proses dan memulai ulang jika tidak berjalan. Sekarang untuk memastikan skrip ini dijalankan pada interval tertentu, saya menggunakan crontab
.
Contoh Skrip Shell Crontab
Skrip shell dapat diperpanjang dan Anda dapat menulis skrip serupa untuk memulai ulang layanan atau proses apa pun di sistem unix.
Berikut adalah skrip shell untuk memulai ulang layanan otomatis yang saya gunakan dalam contoh crontab saya.
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
Perintah utama dalam skrip ini adalah untuk memeriksa proses, gunakan perintah “ps” dengan grep untuk memastikan bahwa itu hanya mengembalikan layanan yang diinginkan dan tidak mengembalikan apa pun jika layanan tidak berjalan.
Setelah Anda mendapatkan perintah untuk digunakan, maka satu-satunya hal adalah mengeluarkan perintah start untuk menjalankan layanan.
Uji skrip untuk memastikan skrip berfungsi seperti yang diharapkan sebelum menyetelnya agar berjalan secara berkala menggunakan crontab.
Contoh crontab setiap 5 menit
Setelah Anda selesai dengan skrip, Anda perlu menyiapkan tugas cron untuk menjalankan skrip ini secara berkala.
Saya menggunakan entri di bawah ini untuk menjalankan skrip ini setiap 5 menit.
*/5 * * * * /Users/pankaj/Downloads/memcached_restart.sh > /Users/pankaj/Downloads/memcache_restart.log 2>&1
Kesalahan Crontab – perintah tidak ditemukan
Perhatikan bahwa crontab tidak mempertimbangkan variabel lingkungan seperti PATH, jadi Anda harus selalu menyediakan jalur absolut untuk setiap program atau lokasi direktori. Jika Anda mendapatkan kesalahan "perintah tidak ditemukan" saat menjalankan perintah dalam skrip shell crontab dan itu berjalan dengan baik jika Anda mengeksekusi sendiri, maka menggunakan jalur relatif akan menjadi masalah.
Referensi:Wikipedia