Cara secara otomatis menjalankan skrip shell saat startup boot di Systemd Linux

Cara secara otomatis menjalankan skrip shell saat startup boot di Systemd Linux

Konfigurasi berikut akan membahas contoh dasar tentang cara menjalankan skrip shell selama waktu boot di SystemD Linux. Di sana mungkin berbagai alasan mengapa Anda mungkin ingin menjalankan skrip shell selama startup Linux seperti misalnya untuk memulai layanan khusus tertentu, periksa ruang disk, buat cadangan dll.

Contoh berikut di bawah ini akan berfungsi sebagai templat dasar yang akan diubah kemudian sesuai dengan kebutuhan spesifik Anda. Dalam contoh di bawah ini kita akan memeriksa ruang disk a /rumah/ direktori selama waktu boot dan tulis laporan /akar/ direktori.

Unit Layanan SystemD

Pertama, kita perlu membuat skrip startup systemd misalnya.Disk-space-check.melayanidan letakkan di dalamnya /etc/systemd/system/ direktori. Anda dapat menemukan contoh skrip startup SystemD tersebut di bawah ini:

[Unit] setelah = mysql.Layanan [Layanan] execStart =/usr/local/bin/disk-space-check.sh [install] wantedby = default.target 
  • Setelah: menginstruksikan SystemD saat skrip harus dijalankan. Dalam kasus kami, skrip akan berjalan setelah database MySQL dimulai. Contoh lain bisa jadi jaringan.target dll.
  • EXECSTART: Bidang ini memberikan jalur lengkap skrip yang sebenarnya untuk dieksekusi
  • Dicari: ke target boot apa yang harus diinstal oleh unit SystemD

Di atas adalah minimum absolut yang harus dikandung oleh unit layanan SystemD kami untuk menjalankan skrip kami pada waktu boot. Untuk informasi lebih lanjut dan opsi yang akan digunakan lihat Systemd.melayani Halaman manual:

$ man systemd.melayani 

Skrip shell startup

Selanjutnya, kami membuat skrip shell kustom kami untuk dieksekusi selama startup systemd. Lokasi dan nama skrip sudah ditentukan oleh unit layanan sebagai /usr/lokal/bin/-space-check.SH. Konten skrip bisa sederhana sebagai:

#!/Tanggal bin/bash>/root/disk_space_report.txt du -sh /home />> /root /disk_space_report.txt 


Konfigurasikan dan instal

Sebelum kami me -reboot sistem kami, kami perlu membuat skrip kami dapat dieksekusi:

# CHMOD 744/USR/LOCAL/BIN/DISK-Space-Check.SH 

Selanjutnya, instal unit layanan SystemD dan aktifkan sehingga akan dieksekusi pada waktu boot:

# chmod 664/etc/systemd/system/disk-space-check.Layanan # Systemctl Daemon-Reload # Systemctl Aktifkan Disk-Space-Check.Layanan dibuat symlink dari/etc/systemd/system/default.target.ingin/pemeriksaan ruang disk.Layanan ke/etc/systemd/system/disk-space-check.melayani. 

Jika Anda ingin menguji skrip Anda sebelum reboot jalankan:

# Systemctl Mulai-SPACE-CHECK.Layanan # cat /root /disk_space_report.txt Kamis 7 Juli 11:30:25 AEST 2016 1.5g /rumah / 

Siap. Setelah me -reboot sistem Linux Anda, unit SystemD di atas akan meminta skrip shell untuk dieksekusi selama waktu boot.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
  • Unduh Linux
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Distro linux terbaik untuk pengembang
  • Cara mencetak pohon direktori menggunakan linux
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…