Farel enzal alkhafi
Manajemen Sistem Update ini dirancang untuk memudahkan pengguna Linux dalam menjaga sistem tetap mutakhir dan aman. Dibuat oleh saya sendiri FAREL ENZAL ALKHAFI dengan NIM 2410514012, sistem ini berbasis Bash dan menggabungkan antarmuka menu interaktif dengan fungsi penjadwalan otomatis menggunakan crontab.
Pengguna dapat menjalankan update dan upgrade secara langsung, menjadwalkannya agar berjalan otomatis setiap hari pada jam tertentu, serta melihat jadwal yang telah ditentukan. Sistem ini menyimpan jadwal dalam file log dan memperbarui crontab secara dinamis tanpa mengganggu entri lain.
Dengan sistem ini, pemeliharaan sistem menjadi lebih efisien dan dapat dilakukan bahkan oleh pengguna yang belum mahir menggunakan terminal Linux.
Sistem Manajemen Update & Upgrade Linux merupakan sebuah program berbasis Bash yang dirancang untuk membantu pengguna dalam melakukan pembaruan sistem operasi secara lebih mudah, terstruktur, dan otomatis. Sistem ini dibuat sebagai solusi praktis dalam pemeliharaan sistem berbasis Debian seperti Ubuntu.
Fungsi utama sistem ini adalah memberikan antarmuka menu yang memungkinkan pengguna untuk:
Penjadwalan dilakukan menggunakan fitur crontab, di mana sistem akan menambahkan entri otomatis sesuai waktu yang ditentukan pengguna, tanpa menghapus atau mengganggu entri lain yang mungkin sudah ada. Selain itu, informasi jadwal disimpan dalam file log untuk referensi.
Sistem ini ditujukan untuk pengguna yang ingin memastikan sistemnya selalu diperbarui tanpa harus menjalankan perintah secara manual setiap hari. Dengan antarmuka yang sederhana dan fitur otomatisasi, sistem ini cocok untuk digunakan baik oleh pemula maupun administrator sistem.
LANGKAH PENGERJAAN
Variabel Penting
JADWAL_LOG="$HOME/jadwal_update.txt"
SCRIPT_PATH="$HOME/sistem.sh"
Fungsi Utama
1. update_upgrade
function update_upgrade() {
echo "Menjalankan update & upgrade..."
sudo apt update && sudo apt upgrade -y
}
2. jadwalkan_update
function jadwalkan_update() {
read -p "Masukkan jam (format 24 jam): " jam
if [[ ! "$jam" =~ ^[0-2][0-9]$ ]]; then
echo "Format jam tidak valid."
return
fi
echo "$jam:00 setiap hari" > "$JADWAL_LOG"
crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH auto" > temp_cron
echo "0 $jam * * * bash $SCRIPT_PATH auto # auto" >> temp_cron
crontab temp_cron && rm temp_cron
3. lihat_jadwal
function lihat_jadwal() {
if [[ -f "$JADWAL_LOG" ]]; then
echo "Jadwal saat ini:"
cat "$JADWAL_LOG"
else
echo "Belum ada jadwal disimpan."
fi
}
Eksekusi Otomatis oleh crontab
if [[ "$1" == "auto" ]]; then
sudo apt update && sudo apt upgrade -y
exit 0
fi
Menu Utama
while true; do
echo "===== Sistem Manajemen Update & Upgrade ====="
...
read -p "Pilih menu [1-4]: " pilih
case $pilih in
1) update_upgrade ;;
2) jadwalkan_update ;;
3) lihat_jadwal ;;
4) echo "Keluar..."; break ;;
*) echo "Pilihan tidak valid!" ;;
esac
HASIL OUTPUT
Menu 1: Jalankan Update & Upgrade Sekarang
Fungsi ini memungkinkan pengguna untuk langsung melakukan pembaruan sistem secara manual. Ketika dipilih, sistem akan menjalankan perintah:
sudo apt update && sudo apt upgrade -y
Perintah tersebut akan memperbarui daftar informasi paket (update) dan menginstal versi terbaru dari paket-paket yang sudah terpasang (upgrade). Proses ini dilakukan seketika dan cocok digunakan jika pengguna ingin memastikan sistemnya diperbarui tanpa menunggu jadwal otomatis.
Menu 2: Jadwalkan Update & Upgrade
Fungsi ini digunakan untuk menjadwalkan proses pembaruan secara otomatis setiap hari pada jam tertentu. Pengguna akan diminta memasukkan jam dalam format 24 jam (contoh: 05, 14, 23).
Setelah itu, sistem akan:
Dengan fitur ini, pengguna tidak perlu lagi menjalankan pembaruan secara manual setiap hari.
Menu 3: Lihat Jadwal Update
Fungsi ini menampilkan jadwal update & upgrade yang telah disimpan sebelumnya. Jadwal tersebut diambil dari file jadwal_update.txt yang otomatis dibuat saat pengguna menggunakan menu 2.
Jika belum ada jadwal disimpan, sistem akan memberi tahu bahwa belum ada data jadwal yang tersedia. Fungsi ini berguna untuk memastikan bahwa penjadwalan otomatis telah berhasil disetel dan jamnya sesuai dengan keinginan pengguna.