Crontab

Crontab
งานตัวจัดตารางเวลาที่ทำงานบนเซิร์ฟเวอร์ในฐานะ root (เหมือนกับ “sudo crontab -e”) จากแดชบอร์ดสามารถแก้ไขได้เฉพาะงานที่เพิ่มไว้ที่นี่เท่านั้น ส่วนบรรทัดอื่นที่มีอยู่แล้วใน root-crontab จะแสดงด้านล่างเพื่อดูเท่านั้น
Crontab (2)
ตารางเวลา คำสั่ง คำอธิบาย สถานะ การดำเนินการ
0 5 * * * /usr/local/bin/custom-backup.sh >> /var/log/arciveo-cron.log 2>&1 Nightly backup to remote storage
*/15 * * * * /usr/local/bin/healthcheck.sh Ping external uptime monitor
งานอื่นของเซิร์ฟเวอร์ (ดูอย่างเดียว) (12)
คำสั่ง
30 1 * * * /usr/local/bin/clamav-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 2 * * * /usr/bin/aide --config /etc/aide/aide.conf --check > /var/log/aide/aide.log 2>&1
@reboot chmod 755 /var/lib/aide
0 3 * * * /usr/local/bin/lynis-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 4 * * * /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
@reboot sleep 60 && /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
30 4 * * * /usr/local/bin/debsums-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 6 * * * /usr/local/bin/logwatch_daily.sh >> /var/log/arciveo-cron.log 2>&1
0 8 * * * /usr/local/bin/daily-report-all.sh >> /var/log/arciveo-cron.log 2>&1
*/30 * * * * /usr/local/bin/smart-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 * * * * /usr/bin/apt-get update -qq >/dev/null 2>&1
*/5 * * * * /usr/local/bin/collect-metrics-all.sh >> /var/log/arciveo-cron.log 2>&1
บรรทัดที่มีอยู่แล้วใน root-crontab นอกบล็อกของแดชบอร์ด “คัดลอกไปยังตัวแก้ไข” เพียงกรอกฟอร์มให้เท่านั้น ไม่ได้ลบบรรทัดต้นทาง โปรดลบเองผ่าน SSH หลังย้ายเสร็จ

เว็บอินเทอร์เฟซของ crontab แทน crontab -e ผ่าน SSH

cron ไม่บอกอะไรเกี่ยวกับตัวเองเลย มันไม่แจ้งว่างานล้มเหลว ไม่แสดงว่างานทำงานครั้งล่าสุดเมื่อใด และข้อผิดพลาดทางไวยากรณ์ในห้าช่องของกำหนดเวลาก็ไม่มีที่ให้ปรากฏ ตามหลักการมันส่งจดหมายถึงผู้ใช้ในเครื่อง แต่บนเซิร์ฟเวอร์ที่ไม่เคยตั้งค่าเมลขาออกไว้ ข้อความนั้นไม่มีใครอ่าน งานหนึ่งอาจเสียอยู่นานหลายเดือน และสิ่งที่เปิดโปงมันคือผลที่ตามมา

หน้านี้แสดงงานที่เพิ่มผ่านแผงควบคุม ได้แก่ กำหนดเวลา คำสั่ง คำอธิบาย และสถานะ พร้อมความสามารถในการเปิด ปิด หรือลบงานโดยไม่ต้องเปิดเทอร์มินัล ถัดลงไปเป็นรายการแยกต่างหากของบรรทัดที่เหลือใน root crontab นั่นคือบรรทัดที่คุณหรือแพ็กเกจที่ติดตั้งไว้ใส่ไว้ก่อนหน้านี้ บรรทัดเหล่านั้นอ่านได้อย่างเดียว เพราะแผงควบคุมตั้งใจไม่แก้ไขสิ่งที่ตนเองไม่ได้เขียน

ที่นี่มีสามอย่างที่ควรตรวจสอบ งานที่ส่งเอาต์พุตไปยัง /dev/null 2>&1 เงียบเท่ากันทั้งตอนทำงานได้และตอนเสีย คำสั่งที่เขียนเป็นชื่อสั้นแทนเส้นทางเต็มจะทำงานต่างจากในเชลล์ของคุณ เพราะ cron มี PATH ของตัวเองที่แคบมาก และตัวกำหนดเวลาเอง งานที่เคยปิดไว้ชั่วคราวเพื่อไล่จุดบกพร่องมักจะถูกปล่อยให้ปิดต่อไป หลังจากสงสัยว่าถูกบุกรุก ควรอ่าน cron ด้วยเช่นกัน เพราะการฝังตัวผ่านตัวจัดกำหนดการง่ายกว่าผ่านหน่วยเริ่มระบบ และบรรทัดเช่นนั้นดูธรรมดาอย่างยิ่ง