Cara Menyalakan dan Mematikan VM Proxmox dengan Cron

2 min read

menyalakan dan mematikan vm proxmox

Virtual Machine (VM) adalah salah satu komponen kunci dalam infrastruktur Proxmox yang memberikan fleksibilitas bagi pengguna untuk menjalankan dan mengelola sistem operasi virtual di atas server fisik. Namun, dalam berbagai skenario, terdapat kebutuhan untuk mengotomatiskan proses menyalakan dan mematikan VM. Contohnya, untuk efisiensi penggunaan daya atau untuk menjadwalkan pemeliharaan rutin tanpa intervensi langsung. Dalam konteks ini, penggunaan cron, sebuah utilitas pada sistem Unix-like, memberikan solusi yang efektif dengan memungkinkan pengguna untuk menjadwalkan eksekusi tugas-tugas tertentu secara berkala.

Pemanfaatan cron dalam Proxmox memungkinkan pengguna untuk mengotomatiskan proses menyalakan dan mematikan VM sesuai kebutuhan. Dengan menggunakan cron, pengguna dapat mengatur jadwal eksekusi skrip yang akan menghidupkan atau mematikan VM pada waktu-waktu tertentu. Misalnya, pengguna dapat mengatur VM untuk dihidupkan secara otomatis pada waktu tertentu saat diperlukan untuk operasional harian, atau mematikan VM saat tidak digunakan untuk menghemat daya.

Berikut adalah langkah-langkah untuk menyalakan dan mematikan VM Proxmox menggunakan cron:

Menyalakan VM secara Otomatis dengan Cron

Untuk menyalakan VM di proxmox secara otomatis menggunakan cron, hal yang harus dilakukan pertama kali adalah mengidentifikasi ID dari masing-masing VM dan memasukkannya dalam VM_LST.

Identifikasi ID VM

Untuk mengetahui ID VM yang ingin Anda jadwalkan untuk dihidupkan. Anda dapat melihat daftar VM dan ID mereka melalui antarmuka web Proxmox atau menggunakan perintah qm list dari terminal.

root@masivotechid:~# qm list

Membuat Skrip Bash

Buatlah skrip bash yang akan menyalakan VM tersebut. Misalnya, buatlah file bernama start_vm.sh dengan konten berikut:

#!/bin/bash

# Menyalakan VM ID 100
/usr/sbin/qm start 100

Pastikan untuk menggantikan 100 dengan ID VM yang sesuai.

BACA JUGA:   Cara Upgrade PostgreSQL 9.3 ke PostgreSQL 11 di Ubuntu 14.04

Jadwalkan Tugas Menyalakan VM dengan Cron

Gunakan cron untuk menjadwalkan eksekusi skrip ini pada waktu tertentu. Buka crontab dengan perintah crontab -e dan tambahkan baris berikut:

0 8 * * * /path/to/start_vm.sh

Dalam contoh ini, VM akan dihidupkan setiap hari pada pukul 08:00. Sesuaikan waktu dan path skrip sesuai kebutuhan Anda.

Mematikan VM secara Otomatis dengan Cron

Sama seperti saat ingin menyalakan VM proxmox dengan cron, saat mematikannya pun, Anda perlu mengetahui ID VM yang ingin Anda jadwalkan untuk dimatikan.

Membuat Skrip Bash

Buatlah skrip bash yang akan mematikan VM tersebut. Buat file bernama stop_vm.sh dengan konten berikut:

#!/bin/bash

# Mematikan VM ID 100
/usr/sbin/qm stop 100

Jadwalkan Tugas Mematikan VM dengan Cron

Buka crontab lagi dengan perintah crontab -e dan tambahkan baris berikut:

0 20 * * * /path/to/stop_vm.sh

Dalam contoh ini, VM akan dimatikan setiap hari pada pukul 20:00. Sesuaikan waktu dan path skrip sesuai kebutuhan Anda.

Script Mematikan dan Menyalakan Multiple VM Proxmox

Script di atas merupakan contoh sederhana bagaimana menyalakan dan mematikan tiap satu vm proxmox, tentu saja hal ini akan kurang efektif dan efisien jika ingin melakukannya pada banyak VM. Berikut adalah contoh script lanjutan untuk melakukannya pada banyak VM ssekaligus.

Buat file bernama startvm.sh dan stopvm.sh seperti dibawah ini untuk menyalakan dan mematikan banyak vm sekaligus.

#!/bin/bash

# Script menyalakan banyak vm proxmox
VM_LST=(201 213 216 219)

for vmid in ${VM_LST[*]}
do
	if [[ $(/usr/sbin/qm status $vmid) == *"status: stopped"* ]]; then
		/usr/sbin/qm start $vmid;rc=$?
		echo "start VM $vmid (status = $rc)" 
	else
		echo "VM $vmid already running" 
    fi
done
#!/bin/bash

# Mematikan banyak VM sekaligus
VM_LST=(201 213 216 219) 

for vmid in ${VM_LST[*]}
do
        if [[ $(/usr/sbin/qm status $vmid) == *"status: running"* ]]; then
        /usr/sbin/qm stop $vmid;rc=$?
                echo "stop VM $vmid (status = $rc)" 
        else
                echo "VM $vmid already stopped" 
    fi
done

Edit bagian VM_LST untuk memasukkan VM ID proxmox yang akan dinyalakan dan dimatikan.

BACA JUGA:   Cara Upgrade PostgreSQL 9.3 ke PostgreSQL 11 di Ubuntu 14.04

Skrip ini dapat dijadwalkan untuk dijalankan secara berkala menggunakan cron atau dieksekusi secara manual setiap kali Anda perlu mengaktifkan atau mematikan VM-VM tersebut. Pastikan untuk memberikan izin eksekusi kepada skrip menggunakan chmod +x nama_skrip.sh sebelum menjalankannya. Selain itu, pastikan bahwa pengguna yang menjalankan skrip memiliki izin yang diperlukan untuk berinteraksi dengan VM Proxmox menggunakan perintah qm.

Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda dapat mengotomatiskan proses menyalakan dan mematikan VM Proxmox menggunakan cron. Pastikan untuk memeriksa kembali pengaturan cron Anda untuk memastikan semuanya berjalan sesuai keinginan.

Leave a Reply

Your email address will not be published. Required fields are marked *