Hal yang pertama harus dilakukan adalah :
buat file restart_exited_containers.sh
#nano restart_exited_containers.sh
lalu isikan script berikut ini :
#!/bin/bash
# Nama file log
LOGFILE="/var/log/docker_restarted.log"
# Fungsi untuk mencatat log
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOGFILE"
}
# Mengambil daftar container yang exited
exited_containers=$(docker ps -aq -f status=exited)
if [ -z "$exited_containers" ]; then
log "Tidak ada container yang exited."
else
for container in $exited_containers; do
# Mengaktifkan kembali container
docker start "$container"
if [ $? -eq 0 ]; then
log "Container dengan ID $container telah diaktifkan."
else
log "Gagal mengaktifkan container dengan ID $container."
fi
done
fi
setalah itu simpan
Penjelasan Script:
- LOGFILE: Menentukan lokasi file log di mana catatan akan disimpan.
- log(): Fungsi untuk mencatat log dengan timestamp.
- exited_containers: Mengambil daftar ID container yang statusnya exited.
- Loop: Melakukan iterasi untuk setiap container yang ditemukan, mencoba untuk mengaktifkannya kembali.
- Status pengecekan: Mencatat ke log apakah proses pengaktifan berhasil atau tidak.
Cara Menggunakan
#chmod +x restart_exited_containers.sh
#./restart_exited_containers.sh
Cek Log
#tail -f /var/log/docker_restarted.log
Buat Cron job setiap 5 menit sekali
#crontab -e
pastekan dibawah ini
*/5 * * * * /home/restart_exited_containers.sh
0 Comments