GNU/Linux >> Belajar Linux >  >> Cent OS

CentOS / RHEL 7 :Cara membuat skrip khusus untuk berjalan secara otomatis saat boot

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


Cent OS
  1. Cara Memulai Ulang Layanan Jaringan di CentOS 8 atau RHEL 8

  2. Cara Membuat Repositori yum di CentOS/RHEL

  3. Bagaimana cara menambahkan Skrip Kustom ke systemd di CentOS/RHEL 7

  1. Cara Membuat Jembatan Jaringan di CentOS 7 / RHEL 7

  2. Cara Membuat Partisi /boot Baru di CentOS / RHEL

  3. Cara Menjalankan ntpdate Secara Otomatis Saat Memulai NTPD di CentOS/RHEL 5

  1. cara menambahkan skrip khusus ke systemd di CentOS/RHEL 7

  2. Cara menonaktifkan layanan avahi-daemon di CentOS/RHEL

  3. Bagaimana menjalankan rsyslog sebagai pengguna non-root di CentOS/RHEL 7