
Tips sederhana untuk membuat locking, agar skrip yang dijalankan via cron tidak dijalankan berkali-kali, alias hanya satu proses dalam satu saat bersamaan.
Misal Anda ingin menjalankan sebuah proses melalui cron secara rutin tiap sekian menit sekali. Anda juga harus memastikan proses tersebut tidak dijalankan lebih dari satu proses bersamaan. Misal, karena saat eksekusi skrip pertama kali belum selesai, lalu skrip keburu dijalankan lagi oleh cron. Dan itu tidak boleh.
Solusi sederhana untuk permasalahan Anda adalah dengan menggunakan file locking sederhana.
#!/bin/bash
LOCKFILE="/tmp/skrip.lock"
if [ -e "$LOCKFILE" ] ; then
echo "Ada file lock. Mungkin skrip sedang dijalankan."
exit 1
fi
touch $LOCKFILE
#
# disini Anda bisa tulis proses yang ingin dijalankan, misalnya:
# - rsync utk backup
# - rdiff-backup
# - scp
# - dll
# setelah proses selesai dijalankan, hapus file lock.
rm -f $LOCKFILE |

Satu Komentar
wow…..baru tahu kini!