โปรดทราบว่าการใส่รหัสผ่านแบบข้อความของคุณในไฟล์ข้อความไม่ใช่ความคิดที่ดีดังนั้นจึงเป็นการดีที่สุดที่จะให้งานนี้ทำงานเป็นรูทจากการเริ่มต้น โดยปกติแล้วแทนที่จะแก้ไข crontab รากของผ่านทางcrontab
คำสั่งซึ่งออกรายการในสถานที่ที่ค่อนข้างคลุมเครือฉันชอบที่จะใส่พวกเขาอย่างชัดเจนใน/var/spool/cron/crontabs
/etc/cron.d
รายการใน cron.d จะถูกเรียกใช้เป็นรายการ crontab ของระบบและถือว่าเป็นไฟล์กำหนดค่าดังนั้นพวกเขาจึงควรอยู่รอดการรีบูตระบบอัปเดตและอัปเกรดและคุณสามารถระบุผู้ใช้ที่กำลังรันอยู่ได้อย่างชัดเจน:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
หากคุณไม่ต้องการเวลาเฉพาะ แต่ต้องการให้ระบบรีบูตวันละครั้งเพิ่มการปฏิบัติการหรือสคริปต์ใน /etc/cron.daily
และมันจะทำงานโดยอัตโนมัติในเวลาที่กำหนดไว้ (เวลาระบบ 6:25 AM ตามค่าเริ่มต้น):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
สังเกตว่าแทนที่จะรีบูตระบบโดยไม่มีการเตือนฉันตั้งเตือน 5 นาทีดังนั้นถ้าใครเข้าสู่ระบบพวกเขามีโอกาสบันทึกงานของพวกเขาหรือแม้กระทั่งหยุดการทำงานด้วยการหยุดsudo shutdown -c
แทนที่จะดึงระบบ ออกจากใต้พวกเขา คุณสามารถปรับเปลี่ยนสิ่งเหล่านี้ได้หากคุณต้องการให้คำเตือนที่มากขึ้น (ตัวอย่างเช่นใช้shutdown -h 60
และเรียกใช้คำสั่งเวลา 2:00 น. และคุณจะได้รับคำเตือน 1 ชั่วโมงแก่ผู้ใช้)
นี่ขึ้นอยู่กับประสบการณ์ที่ผ่านมาของฉัน; เมื่อถึงจุดหนึ่งคุณจะเข้าสู่ระบบในการทำงานเมื่อรายการ crontab ทำงานและหากเพิ่งรีบูตโดยไม่มีการเตือนคุณจะเป็นแพนด้าที่น่าเศร้ามาก
echo $PASSWD