Di RHEL 5 dan 6, kami menggunakan fitur startup otomatis RHEL melalui /etc/rc.d/init.d untuk menjalankan skrip apa pun saat boot sistem. Dimulai dengan RHEL 7 init digantikan oleh systemd dan metode sebelumnya sekarang tidak digunakan lagi. Ada cara lain di RHEL 7 untuk melakukan hal yang sama.
Membuat skrip khusus
1. Pertama-tama mari kita buat contoh skrip khusus untuk dijalankan saat sistem boot secara otomatis.
# vi /var/tmp/test_script.sh #!/bin/bash echo "This is a sample script to test auto run during boot" > /var/tmp/script.out echo "The time the script run was --> `date`" >> /var/tmp/script.out
2. Periksa dan verifikasi izin file.
# ls -lrt /usr/local/sbin/myscript.sh
3. Tambahkan izin eksekusi (jika belum disetel).
# chmod +x /var/tmp/test_script.sh
Membuat unit layanan systemd baru
Buat file unit layanan baru di /etc/systemd/system/sample.service dengan konten di bawah ini. Nama unit layanan ditentukan oleh pengguna dan dapat berupa nama pilihan Anda.
# vi /etc/systemd/system/sample.service [Unit] Description=Description for sample script goes here After=network.target [Service] Type=simple ExecStart=/var/tmp/test_script.sh TimeoutStartSec=0 [Install] WantedBy=default.target
Di sini,
After= : If the script needs any other system facilities (networking, etc), modify the [Unit] section to include appropriate After=, Wants=, or Requires= directives. Type= : Switch Type=simple for Type=idle in the [Service] section to delay execution of the script until all other jobs are dispatched WantedBy= : target to run the sample script in
Aktifkan unit layanan systemd
1. Muat ulang proses systemd untuk mempertimbangkan sample.service yang baru dibuat ATAU setiap kali sample.service dimodifikasi.
# systemctl daemon-reload
2. Aktifkan layanan ini untuk memulai setelah reboot secara otomatis.
# systemctl enable sample.service
3. Mulai layanan.
# systemctl start sample.service
4. Reboot host untuk memverifikasi apakah skrip dimulai seperti yang diharapkan selama boot sistem.
# systemctl reboot