ฉันมีบริการสองสามอย่าง (ตัวสร้างไซต์คงที่) ที่ฉันต้องการเรียกใช้เป็นประจำจากตัวจับเวลา systemd เดียวกัน ฉันพบ คำถาม/คำตอบนี้ซึ่งครอบคลุมสิ่งที่ฉันต้องการทำทุกประการ และอธิบายถึงการตั้งค่าโดยก .เป้า
ไฟล์นั้น ต้องการ=
บริการหลายอย่างถูกเรียกใช้โดยตัวจับเวลาที่สอดคล้องกัน ฟังดูดี แต่ฉันพบว่าเมื่อฉันตั้งค่านี้จริง ๆ มันจะทริกเกอร์เท่านั้น ครั้งหนึ่งแล้วปิดตัวเอง!
ฉันได้เตรียมตัวอย่างการทำงานขั้นต่ำ (สิ่งนี้ไม่ได้เรียกใช้บริการหลายรายการ แต่แสดงให้เห็นถึงปัญหาเดียวกัน):
จับเวลาทดสอบ.จับเวลา
:
[หน่วย]
คำอธิบาย=ตัวจับเวลาการทดสอบ
[ตัวจับเวลา]
ในปฏิทิน=*-*-* *:*:30
Unit=test-timer.target
[ติดตั้ง]
WantedBy=timers.target
ทดสอบ-timer.target
:
[หน่วย]
คำอธิบาย=หน่วยเป้าหมาย
ต้องการ = test-timer.service
After=test-timer.service
[ติดตั้ง]
WantedBy=timers.target
ทดสอบจับเวลาบริการ
:
[หน่วย]
คำอธิบาย=เรียกใช้การทดสอบ
[บริการ]
ExecStart=/usr/bin/bash -c "วันที่ --rfc-3339='วินาที' >> /tmp/test-timer-output"
[ติดตั้ง]
ยัง=test-timer.target
เปิดใช้งานตัวจับเวลา:
$ sudo cp ตัวจับเวลาการทดสอบ * /etc/systemd/system/
$ sudo systemctl enable -- ตอนนี้ test-timer.timer
สร้าง symlink /etc/systemd/system/timers.target.wants/test-timer.timer â /etc/systemd/system/test-timer.timer
จากนั้นเมื่อฉันดูผลลัพธ์ของ ตัวจับเวลารายการ systemctl --all
ก่อนการวิ่งครั้งแรกที่ฉันได้รับ (ไม่สนใจตัวจับเวลาอื่น):
ถัดไป ซ้าย หน่วยสุดท้ายที่ผ่านไป เปิดใช้งาน
ศ. 2021-10-08 10:38:30 EDT เหลืออีก 21 วินาที n/a n/a test-timer.timer test-timer.target
หลังจากการวิ่งครั้งแรก ต่อไป
และ ซ้าย
ถูกแทนที่ด้วย ไม่มี
:
ถัดไป ซ้าย หน่วยสุดท้ายที่ผ่านไป เปิดใช้งาน
n/a n/a ศุกร์ 2021-10-08 10:38:32 EDT 1 นาที 5 วินาทีที่แล้ว test-timer.timer test-timer.target
ฉันได้ลองเพิ่ม ถาวร = จริง
ไปที่ ทดสอบ-timer.target
และเปิดใช้งานอย่างชัดเจน ทดสอบ-timer.target
แต่สิ่งเหล่านี้ไม่ได้ผล เมื่อไหร่ก็ตามที่ฉันทำ systemctl รีสตาร์ท test-timer.timer
มันจะรีสตาร์ท แต่เรียกการทำงานเพียงครั้งเดียว จากนั้นจะไม่ทำงานอีก
ถ้าฉันลบเลเยอร์ของทางอ้อมโดยเปลี่ยน หน่วย=
สายของ จับเวลาทดสอบ.จับเวลา
ถึง Unit=test-timer.service
บริการกระตุ้นตัวเองอย่างมีความสุขทุกนาทีตามที่คาดไว้
ฉันขาดการกำหนดค่าหรือขั้นตอนการติดตั้งบางอย่างหรือไม่