Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

คำสั่งอัตโนมัติบน Linux Reboot และ Startup:คำแนะนำทีละขั้นตอน

ฉันหลงใหลกับสิ่งที่เกิดขึ้นเบื้องหลังเสมอเมื่อฉันบูตระบบ Linux และเข้าสู่ระบบ ด้วยการกดปุ่มเปิดปิดบนโลหะเปลือยหรือสตาร์ทเครื่องเสมือน คุณจะก่อให้เกิดเหตุการณ์ต่างๆ ที่นำไปสู่ระบบที่มีฟังก์ชันการทำงานเต็มรูปแบบ - บางครั้งใช้เวลาไม่ถึงนาที เช่นเดียวกับเมื่อคุณออกจากระบบและ/หรือปิดระบบ

สิ่งที่ทำให้สิ่งนี้น่าสนใจและสนุกสนานมากขึ้นคือคุณสามารถให้ระบบปฏิบัติการดำเนินการบางอย่างเมื่อบู๊ตและเมื่อคุณเข้าสู่ระบบหรือออกจากระบบ

ในบทความผู้ไม่เชื่อเรื่องพระเจ้านี้ เราจะพูดถึงวิธีการดั้งเดิมในการบรรลุเป้าหมายเหล่านี้ใน Linux

หมายเหตุ :เราจะถือว่าการใช้ Bash เป็นเชลล์หลักสำหรับเหตุการณ์การล็อกออนและล็อกเอาต์ หากคุณบังเอิญใช้วิธีอื่น บางวิธีอาจจะได้ผลหรือไม่ก็ได้ หากมีข้อสงสัย โปรดดูเอกสารประกอบของเชลล์ของคุณ

การรันสคริปต์ Linux ระหว่างรีบูตหรือเริ่มต้น

มีสองวิธีแบบดั้งเดิมในการรันคำสั่งหรือรันสคริปต์ระหว่างการเริ่มต้นระบบ:

วิธีที่ #1 – ใช้งาน cron

นอกจากรูปแบบปกติ (นาที / ชั่วโมง / วันของเดือน / เดือน / วันในสัปดาห์) ที่ใช้กันอย่างแพร่หลายในการระบุตารางเวลาแล้ว cron scheduler ยังอนุญาตให้ใช้ 04 . คำสั่งนี้ตามด้วยเส้นทางที่แน่นอนไปยังสคริปต์ จะทำให้สคริปต์ทำงานเมื่อเครื่องบูท

อย่างไรก็ตาม มีข้อควรระวังสองประการสำหรับแนวทางนี้:

  1. ก) cron daemon จะต้องทำงานอยู่ (ซึ่งเป็นกรณีภายใต้สถานการณ์ปกติ) และ
  2. ข) สคริปต์หรือไฟล์ crontab จะต้องมีตัวแปรสภาพแวดล้อม (ถ้ามี) ที่จำเป็น (โปรดดูรายละเอียดเพิ่มเติมที่เธรด StackOverflow นี้)

วิธีที่ #2 – ใช้ /etc/rc.d/rc.local

วิธีการนี้ใช้ได้แม้กระทั่งกับการแจกแจงแบบอิง systemd เพื่อให้วิธีนี้ใช้งานได้ คุณต้องให้สิทธิ์ในการดำเนินการแก่ 17 ดังนี้:

# chmod +x /etc/rc.d/rc.local

และเพิ่มสคริปต์ของคุณที่ด้านล่างของไฟล์

รูปภาพต่อไปนี้แสดงวิธีการเรียกใช้สคริปต์ตัวอย่างสองตัว (29 และ 35 ) โดยใช้ cron งาน และ rc.local ตามลำดับ และผลลัพธ์ตามลำดับ

script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
คำสั่งอัตโนมัติบน Linux Reboot และ Startup:คำแนะนำทีละขั้นตอน เรียกใช้สคริปต์ Linux เมื่อเริ่มต้น

โปรดทราบว่าสคริปต์ทั้งสองจะต้องได้รับสิทธิ์ดำเนินการก่อนหน้านี้:

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

การเรียกใช้สคริปต์ Linux เมื่อเข้าสู่ระบบและออกจากระบบ

หากต้องการรันสคริปต์เมื่อเข้าสู่ระบบหรือออกจากระบบ ให้ใช้ 45 และ 53 ตามลำดับ เป็นไปได้มากว่าคุณจะต้องสร้างไฟล์หลังด้วยตนเอง เพียงวางบรรทัดเพื่อเรียกใช้สคริปต์ของคุณที่ด้านล่างของแต่ละไฟล์ในลักษณะเดียวกันเหมือนเมื่อก่อน เท่านี้คุณก็พร้อมที่จะไป

สรุป

ในบทความนี้ เราได้อธิบายวิธีการเรียกใช้สคริปต์เมื่อรีบูต ล็อกออน และล็อกเอาต์ หากคุณนึกถึงวิธีการอื่นๆ ที่เราสามารถรวมไว้ที่นี่ โปรดใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อชี้ให้เห็น เราหวังว่าจะได้รับการติดต่อจากคุณ!

ยกระดับทักษะ Linux ของคุณไปอีกระดับ

สมาชิกระดับรูทจะสามารถเข้าถึงทุกหลักสูตรได้อย่างเต็มที่ แนวทางการเตรียมการรับรอง และคลังเนื้อหา Linux เชิงปฏิบัติที่กำลังเติบโต — พร้อมด้วยหลักสูตรใหม่ๆ ที่เพิ่มเข้ามาทุกเดือน

สิ่งที่คุณได้รับ

เข้าถึงบทความพรีเมียมทั้งหมดโดยไม่มีโฆษณา

เข้าถึงทุกหลักสูตร:เรียนรู้ Linux, AI สำหรับ Linux, การเขียนสคริปต์ Bash, คู่มือ Ubuntu, Golang และอีกมากมาย

เข้าถึงการรับรอง Linux (RHCSA, RHCE, LFCS และ LFCA)

เข้าถึงหลักสูตรใหม่ในการเปิดตัว

รับการเข้าถึงจดหมายข่าวรายสัปดาห์

ความช่วยเหลือสำคัญในความคิดเห็น

ชุมชนโทรเลขส่วนตัว

เชื่อมต่อกับชุมชน Linux

คำสั่งอัตโนมัติบน Linux Reboot และ Startup:คำแนะนำทีละขั้นตอน

Gabriel Cánepa เป็นผู้ดูแลระบบ GNU/Linux และนักพัฒนาเว็บจาก Villa Mercedes, San Luis, Argentina เขาทำงานให้กับบริษัทสินค้าอุปโภคบริโภคชั้นนำระดับโลก และยินดีเป็นอย่างยิ่งที่ได้ใช้เครื่องมือ FOSS เพื่อเพิ่มผลผลิตในทุกด้านของงานประจำวันของเขา

บทช่วยสอนแต่ละรายการที่ TecMint สร้างขึ้นโดยทีมผู้ดูแลระบบ Linux ที่มีประสบการณ์ เพื่อให้เป็นไปตามมาตรฐานคุณภาพสูงของเรา