วิธีการเรียกใช้สคริปต์ในการเริ่มต้น CentOS Linux


12

ฉันใส่หนึ่งสคริปต์ใน /etc/init.d/abc.sh. ตอนนี้ฉันต้องการให้มันทำงานเมื่อเริ่มต้น

ฉันจะทำเช่นนั้นกับ chkconfig ได้อย่างไร

chkconfig --add abc.sh

แต่ฉันไม่แน่ใจว่ามันทำงานอย่างไร


มีบทความเก่า แต่ยังมีประโยชน์อยู่ linuxjournal.com/article/4445
RedGrittyBrick

คำตอบ:


8

ฉันมักจะใช้

/etc/rc.local

ชอบมาก...

echo "/etc/init.d/abc.sh" & gt; & gt; /etc/rc.local

ควรแฮ็คมันเพื่อคุณ อาจมีสถานที่ที่เหมาะสมกว่า แต่ก็มีอะไรก็ตามที่มันทำงานได้


สคริปต์นั้นเป็นภูตและฉันมี abc start stop restart configurd
Mirage

บางทีคุณต้องการโทรหาโดยป้อน: 'service abc start'
James T Snell

7

สคริปต์ที่ทำงานเมื่อเริ่มต้นไม่ได้ถูกกล่าวว่าเป็นสคริปต์ - หากคุณต้องการให้สคริปต์ทำงานเมื่อเริ่มต้นให้เปลี่ยนสิ่งต่อไปนี้ใน /etc/crontab:

@reboot /path/to/script

1
มันจะทำงานเป็นผู้ใช้รูตหรือไม่หากวางไว้ใน cron
Kimberly W

2
นั่นเป็นความคิดที่ยอดเยี่ยม! มันเป็นแบบพกพา & amp; ง่าย มันไม่เป็นอันตรายต่อการบูต มันมาหลังจากการเริ่มต้นโมดูลระบบที่มีสิทธิ์ผู้ใช้ที่ถูกต้อง .... ในกรณีของฉันใน centos 7 มันจะเป็น "@reboot root / path / to / script"
Nicolas Guérinet

2

ลองดูสคริปต์เริ่มต้นอื่น ๆ ที่มีอยู่ ใน init-script rh-style ที่เหมาะสมมีคำแนะนำสามประการ: runlevels ซึ่งสคริปต์ควรเริ่มทำงานและระดับความสำคัญที่ควรเริ่ม / หยุด ผลรวมของการเริ่มต้น + หยุดควรเป็น 100

ข้อคิดเห็นบรรทัดนี้ถูกประเมินโดย chkconfig


1

คุณทำไม่ได้จนกว่าคุณจะอ่าน /usr/share/doc/initscripts-*/sysvinitfiles และจัดโครงสร้างสคริปต์ของคุณตามนั้น


1

คุณอยู่ในเส้นทางที่ถูกต้อง สคริปต์ทุบตีของคุณอยู่ในตำแหน่งที่ถูกต้องและคุณได้เพิ่มลงใน chkconfig ซึ่งหมายความว่าสคริปต์ของคุณติดตั้ง

โปรดทราบว่า /etc/init.d เป็นลิงก์สัญลักษณ์ไปยัง /etc/rc.d/init.d

หลังจากเพิ่มสคริปต์ของคุณคุณต้องเลือก runlevel ที่คุณต้องการเปิดใช้งาน: chkconfig --level 35 abc on จะเปิดใช้งานสคริปต์ของคุณใน runlevels 3 และ 5 ซึ่งเป็น startups ที่พบบ่อยที่สุดของคุณ

โปรดปรึกษา chkconfig --help สำหรับข้อมูลเพิ่มเติม

PS คุณยังสามารถใช้ ntsysv ซึ่งเป็น ตุ๋ย สำหรับ chkconfig

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.