Cara Mengeksekusi Perintah/Skrip Secara Otomatis Saat Reboot atau Startup


Saya selalu terpesona dengan hal-hal yang terjadi di balik layar ketika saya mem-boot sistem Linux dan log on. Dengan menekan tombol daya pada perangkat logam atau menyalakan mesin virtual, Anda menjalankan serangkaian peristiwa yang menghasilkan sistem berfungsi penuh – terkadang dalam waktu kurang dari satu menit. Hal yang sama berlaku ketika Anda logout dan/atau mematikan sistem.

Apa yang membuat ini lebih menarik dan menyenangkan adalah kenyataan bahwa Anda dapat membuat sistem operasi melakukan tindakan tertentu saat boot dan saat Anda logon atau logout.

Dalam artikel distro-agnostik ini kita akan membahas metode tradisional untuk mencapai tujuan ini di Linux.

Catatan: Kami akan mengasumsikan penggunaan Bash sebagai shell utama untuk acara logon dan logout. Jika Anda menggunakan metode lain, beberapa metode ini mungkin berhasil atau mungkin tidak. Jika ragu, lihat dokumentasi shell Anda.

Menjalankan Skrip Linux Saat Reboot atau Startup

Ada dua metode tradisional untuk menjalankan perintah atau menjalankan skrip saat startup:

Metode #1 – Gunakan Pekerjaan cron

Selain format biasa (menit/jam/hari dalam sebulan/bulan/hari dalam seminggu) yang banyak digunakan untuk menunjukkan jadwal, cron scheduler juga mengizinkan penggunaan @reboot. Arahan ini, diikuti dengan jalur absolut ke skrip, akan menyebabkannya berjalan saat mesin melakukan booting.

Namun, ada dua peringatan terhadap pendekatan ini:

  1. a) daemon cron harus berjalan (yang merupakan kasus dalam keadaan normal), dan
  2. b) skrip atau file crontab harus menyertakan variabel lingkungan (jika ada) yang diperlukan (lihat thread StackOverflow ini untuk detail selengkapnya).

Metode #2 – Gunakan /etc/rc.d/rc.local

Metode ini berlaku bahkan untuk distribusi berbasis systemd. Agar metode ini berfungsi, Anda harus memberikan izin eksekusi ke /etc/rc.d/rc.local sebagai berikut:

chmod +x /etc/rc.d/rc.local

dan tambahkan skrip Anda di bagian bawah file.

Gambar berikut menunjukkan cara menjalankan dua contoh skrip (/home/gacanepa/script1.sh dan /home/gacanepa/script2.sh) menggunakan cron< pekerjaan dan rc.local, dan hasilnya masing-masing.

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash
SITE="linux-console.net"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt

Ingatlah bahwa kedua skrip harus diberikan izin eksekusi sebelumnya:

chmod +x /home/gacanepa/script1.sh
chmod +x /home/gacanepa/script2.sh

Mengeksekusi Skrip Linux saat Logon dan Logout

Untuk menjalankan skrip saat logon atau logout, gunakan masing-masing ~.bash_profile dan ~.bash_logout. Kemungkinan besar, Anda perlu membuat file terakhir secara manual. Letakkan saja baris yang menjalankan skrip Anda di bagian bawah setiap file dengan cara yang sama seperti sebelumnya dan Anda siap berangkat.

Ringkasan

Pada artikel ini kami telah menjelaskan cara menjalankan skrip saat reboot, logon, dan logout. Jika Anda memikirkan metode lain yang dapat kami sertakan di sini, silakan gunakan formulir komentar di bawah untuk menunjukkannya. Kami menantikan kabar dari Anda!