28.12.2011 – Membuat File Locking Sederhana di Skrip Bash
Wednesday, December 28th, 2011Sebetulnya ini adalah copy paste dari tulisan original milik teman saya, Cecep Mahbub. Tapi karena isinya menarik buat saya, jadi saya putuskan untuk menulisnya ulang disini. Kang Cecep, nuhun infonya. Saya ikut numpang kopas yah
Original link, Membuat File Locking Sederhana di Skrip Bash
Membuat File Locking Sederhana di Skrip Bash
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
————————————————-
