Cara melaksanakan arahan/skrip secara automatik semasa reboot atau permulaan

Cara melaksanakan arahan/skrip secara automatik semasa reboot atau permulaan

Saya selalu terpesona dengan perkara -perkara yang berlaku di belakang tabir ketika saya boot sistem linux dan log masuk. Dengan menekan butang kuasa pada logam kosong atau memulakan mesin maya, anda meletakkan satu siri peristiwa yang membawa kepada sistem berfungsi sepenuhnya - kadang -kadang dalam masa kurang dari satu minit. Perkara yang sama berlaku semasa anda log keluar dan / atau menutup sistem.

Apa yang menjadikan ini lebih menarik dan menyeronokkan adalah hakikat bahawa anda boleh mempunyai sistem pengendalian melaksanakan tindakan tertentu apabila ia boot dan ketika anda log masuk atau logout.

Dalam artikel distro-agnostik ini kita akan membincangkan kaedah tradisional untuk mencapai matlamat ini di Linux.

Catatan: Kita akan menganggap penggunaan Bash sebagai shell utama untuk log masuk dan acara logout. Sekiranya anda menggunakan yang berbeza, beberapa kaedah ini mungkin atau mungkin tidak berfungsi. Sekiranya ragu -ragu, rujuk dokumentasi cangkang anda.

Melaksanakan skrip Linux semasa reboot atau permulaan

Terdapat dua kaedah tradisional untuk melaksanakan skrip perintah atau menjalankan semasa permulaan:

Kaedah #1 - Gunakan pekerjaan cron

Selain format biasa (minit / jam / hari bulan / bulan / hari dalam minggu) yang digunakan secara meluas untuk menunjukkan jadual, Cron Scheduler juga membolehkan penggunaan @reboot. Arahan ini, diikuti dengan jalan mutlak ke skrip, akan menyebabkannya dijalankan ketika mesin mesin.

Walau bagaimanapun, terdapat dua peringatan untuk pendekatan ini:

  1. a) Daemon Cron mesti berjalan (yang berlaku dalam keadaan biasa), dan
  2. b) Skrip atau fail Crontab mesti memasukkan pembolehubah persekitaran (jika ada) yang diperlukan (rujuk thread stackoverflow ini untuk maklumat lanjut).

Kaedah #2 - Gunakan /etc /RC.D/RC.tempatan

Kaedah ini sah walaupun untuk pengagihan berasaskan SystemD. Agar kaedah ini berfungsi, anda mesti memberikan kebenaran melaksanakan ke /etc/rc.D/RC.tempatan seperti berikut:

# chmod +x /etc /rc.D/RC.tempatan 

dan tambahkan skrip anda di bahagian bawah fail.

Imej berikut menunjukkan cara menjalankan dua skrip sampel (/rumah/gacanepa/script1.sh dan /rumah/gacanepa/script2.sh) menggunakan a Cron pekerjaan dan RC.tempatan, masing -masing, dan hasil masing -masing.

Skrip1.SH:
#!/bin/bash tarikh = $ (tarikh +'%f%h:%m:%s') dir =/home/gacanepa echo "Tarikh dan masa semasa: $ tarikh"> $ dir/file1.txt 
Skrip2.SH:
#!/bin/bash site = "Tecmint.com "dir =/home/gacanepa echo" $ tapak tapak ... tambahkan kami ke penanda halaman anda."> $ Dir/file2.txt 
Jalankan skrip Linux pada permulaan

Perlu diingat bahawa kedua -dua skrip mesti diberikan melaksanakan kebenaran sebelum ini:

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

Melaksanakan skrip Linux di log masuk dan logout

Untuk melaksanakan skrip di log masuk atau logout, gunakan ~.BASH_PROFILE dan ~.BASH_LOGOUT, masing -masing. Kemungkinan besar, anda perlu membuat fail yang terakhir secara manual. Hanya jatuhkan garis yang menggunakan skrip anda di bahagian bawah setiap fail dengan cara yang sama seperti sebelumnya dan anda sudah bersedia untuk pergi.

Ringkasan

Dalam artikel ini, kami telah menerangkan cara menjalankan skrip di reboot, log masuk, dan logout. Sekiranya anda boleh memikirkan kaedah lain yang boleh kami sertakan di sini, jangan ragu untuk menggunakan borang komen di bawah untuk menunjukkannya. Kami berharap untuk mendengar daripada anda!