ฉันต้องการเรียกใช้คำสั่งง่ายๆ หลังจากที่อูบุนตูของฉันเริ่มทำงานและบริการเครือข่ายได้รับการจัดตั้งขึ้น (ควรทำเช่นนั้นไม่ว่าฉันจะเข้าสู่ระบบหรือไม่ก็ตาม)
หากฉันเรียกใช้คำสั่งด้วยตนเอง มันจะเริ่มต้นแอปพลิเคชันที่แนบมาด้วย: บริการท้องถิ่นที่ไหลมาบรรจบกันเริ่มต้นขึ้น
. อย่างน้อยมันก็ใช้งานได้กับผู้ใช้ของฉัน
คำถาม:
- ฉันจะรันคำสั่งเมื่อเริ่มต้นระบบได้อย่างไร (หลังจากสร้างเครือข่ายแล้ว)
- สำหรับโซลูชันที่แนะนำ ฉันจะตรวจสอบได้อย่างไรว่าโซลูชันดำเนินการจริงหรือไม่
สิ่งที่ฉันได้ลองไปแล้ว:
crontab: sudo crontab อี
และเพิ่ม @reboot บริการในพื้นที่ที่มาบรรจบกันเริ่มต้นขึ้น
. บรรทัดนี้จะถูกลบทุกครั้งที่รีบูตระบบ
บริการระบบ: ฉันได้เพิ่มคำสั่งลงในสคริปต์ sh ภายใต้ /usr/local/bin/confluent-startup.sh จากนั้นฉันก็สร้างไฟล์บริการใน /etc/systemd/system/confluent-local.service
ไฟล์นี้จะเก็บเนื้อหาต่อไปนี้:
[หน่วย]
คำอธิบาย=เริ่มไหลมารวมกันในท้องถิ่น
After=network.service
[บริการ]
ExecStart=/usr/local/bin/confluent-local-start.sh
Type=วันช็อต
RemainAfterExit=ใช่
[ติดตั้ง]
WantedBy=multi-user.target
ฉันโหลดบริการใหม่แล้ว
sudo systemctl daemon โหลดซ้ำ
sudo systemctl เปิดใช้งาน confluent-local.service
หลังจากรีบูต ฉันเห็นบริการที่เปิดใช้งานเรียกใช้: systemctl รายการหน่วยไฟล์ -- ประเภทบริการ - ทั้งหมด
. แต่วิ่ง สถานะบริการในท้องถิ่นที่ไหลมารวมกัน
จะแสดงให้ฉันเห็นว่าบริการทั้งหมดยังคงหยุดทำงานเหตุใดจึงทำงานด้วยตนเอง แต่ไม่ใช่กับ systemd (FYI: ฉันได้เปลี่ยนสิทธิ์ในบริการและในสคริปต์เป็นการเข้าถึงแบบเต็ม: 777 (ใช่ ฉันรู้... มันเป็นเพียงสำหรับการทดสอบ))
เบาะแสใด ๆ ?