งานที่กำหนดใน crontab ทำงานแม้ว่าฉันจะออกจากระบบหรือไม่?


12

ฉันเพิ่มงานในไฟล์ crontab บนเซิร์ฟเวอร์

  • เมื่อฉันออกจากระบบและเซิร์ฟเวอร์ยังคงทำงานอยู่จะยังคงทำงานอยู่หรือไม่

  • มันจะสำคัญหรือไม่ถ้าฉันสร้างหน้าจอหรือเซสชั่น tmux และเรียกใช้เชลล์ในนั้นและแยกมันออกก่อนที่จะออกจากระบบ?

คำตอบ:


22

cronเป็นกระบวนการที่เกี่ยวข้องกับงานที่กำหนดไว้ไม่ว่าคุณจะเข้าสู่ระบบหรือไม่ ไม่จำเป็นต้องให้หน้าจอหรือเซสชัน tmux ทำงานเนื่องจาก cron daemon จะเรียกใช้งานที่กำหนดเวลาไว้ในเชลล์แยกต่างหาก

ดูman cronและman crontabสำหรับรายละเอียด


เมื่อฉันออกจากระบบผู้ใช้คนใดที่จะทำงานและกำหนดเวลางานใน crontab ถ้าไม่ใช่ฉันนั่นจะทำให้เกิดปัญหาได้บ้าง
ทิม

1
ขึ้นอยู่กับว่าคุณได้แก้ไข crontab ใด หากคุณแก้ไข crontab ของผู้ใช้รายการจะถูกดำเนินการในฐานะผู้ใช้นั้น หากคุณแก้ไขไฟล์ / etc / crontab ผู้ใช้มักจะถูกระบุระหว่างช่วงเวลาและคำสั่งเช่น: "17 * * * * root cd / && run-parts --report /etc/cron.hourly" นอกจากนี้มันยังขึ้นอยู่กับแพลตฟอร์มที่คุณใช้ Ubuntu ใช้ cron ต่างจากโซลาริส
แลมเบิร์ตใน

ฉันใช้อูบุนตู "crontab ของผู้ใช้" คืออะไร? ใน "crontab ของผู้ใช้" ฉันสามารถระบุผู้ใช้ที่จะทำงานตามกำหนดเวลาได้หรือไม่
ทิม

1
ตามที่man crontabบน Ubuntu ไฟล์ผู้ใช้ crontab /var/spool/cron/crontabsตั้งอยู่ใน แต่ระวังคู่มือยังบอกว่าไฟล์เหล่านั้นไม่ได้มีไว้สำหรับการแก้ไขโดยตรง คุณควรใช้crontab -eจากบริบทผู้ใช้หรือcrontab -e -u usernameจากผู้ใช้รูทเพื่อแก้ไขผู้ใช้ crontab
Lambert

1
มันควรจะสังเกตว่าผู้ใช้ crontabs มักจะต้องให้โฟลเดอร์บ้านของผู้ใช้ที่จะติดตั้งเพื่อทำงานที่มีประโยชน์ นี่อาจเป็นปัญหาหากผู้ใช้เข้ารหัสโฟลเดอร์ภายในบ้านที่ถอดรหัสเมื่อเข้าสู่ระบบ (เช่นกับ ecryptfs) การเข้ารหัสที่บ้านจะพบได้น้อยในสถานการณ์เซิร์ฟเวอร์ที่ได้รับอนุญาต
init_js
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.