Cara melaksanakan skrip shell secara automatik pada boot startup pada sistem linux

Cara melaksanakan skrip shell secara automatik pada boot startup pada sistem linux

Konfigurasi berikut akan membincangkan contoh asas mengenai cara melaksanakan skrip shell semasa masa boot pada sistem linux. Mungkin ada pelbagai sebab mengapa anda mungkin mahu melaksanakan skrip shell semasa permulaan Linux seperti contohnya untuk memulakan perkhidmatan tersuai tertentu, periksa ruang cakera, buat sandaran dll.

Contoh berikut di bawah akan berfungsi sebagai templat asas untuk diubah suai kemudian sesuai dengan keperluan khusus anda. Dalam contoh di bawah, kami akan memeriksa ruang cakera a /rumah/ direktori semasa masa boot dan tulis laporan ke /root/ direktori.

Unit Perkhidmatan SystemD

Pertama, kita perlu membuat skrip permulaan systemd misalnya.Cakera-ruang-Check.perkhidmatandan letakkannya /etc/Systemd/System/ direktori. Anda boleh mencari contoh skrip permulaan sistem ini di bawah:

[Unit] selepas = mysql.perkhidmatan [perkhidmatan] execstart =/usr/local/bin/disk-space-check.sh [install] wantyby = lalai.sasaran 
  • Selepas: Mengarahkan sistemd pada bila skrip harus dijalankan. Dalam kes kami, skrip akan dijalankan selepas pangkalan data MySQL telah dimulakan. Contoh lain mungkin rangkaian.sasaran dan lain-lain.
  • EXECTART: Bidang ini memberikan laluan penuh skrip sebenar untuk dilaksanakan
  • Dikehendaki: Ke apa yang sasaran boot unit systemd harus dipasang

Perkara di atas adalah minimum mutlak yang harus dimiliki oleh unit servis sistem kami untuk melaksanakan skrip kami pada waktu boot. Untuk maklumat lanjut dan pilihan untuk digunakan, lihat sistemd.perkhidmatan Halaman Manual:

$ man Systemd.perkhidmatan 

Skrip shell permulaan

Seterusnya, kami membuat skrip shell tersuai kami yang akan dilaksanakan semasa permulaan sistem. Lokasi dan nama skrip sudah ditakrifkan oleh unit perkhidmatan sebagai /usr/local/bin/disk-space-check.sh. Kandungan skrip boleh menjadi mudah seperti:

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


Konfigurasikan dan pasang

Sebelum kita reboot sistem kita, kita perlu membuat skrip kita boleh dilaksanakan:

# CHMOD 744/usr/lokal/bin/disk-space-check.sh 

Seterusnya, pasang unit perkhidmatan SystemD dan aktifkannya supaya ia akan dilaksanakan pada masa boot:

# CHMOD 664/etc/Systemd/System/Disk-Space-Check.Perkhidmatan # Systemctl Daemon-Reload # Systemctl Dayakan Cakera-SPACE-Semak.perkhidmatan yang dibuat Symlink dari/etc/Systemd/System/Default.sasaran.mahu/cakera-ruang-cek.Perkhidmatan ke/etc/Systemd/System/Disk-SPACE-Check.perkhidmatan. 

Sekiranya anda ingin menguji skrip anda sebelum anda reboot berjalan:

# Systemctl Start Disk-SPACE-Semak.perkhidmatan # kucing /root /disk_space_report.TXT Khamis 7 Julai 11:30:25 AEST 2016 1.5g /rumah / 

Semua bersedia. Setelah menghidupkan semula sistem linux anda, unit sistemd di atas akan memanggil skrip shell untuk dilaksanakan semasa masa boot.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
  • Muat turun linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Distro linux terbaik untuk pemaju
  • Cara mencetak pokok direktori menggunakan linux
  • Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..