ทำไม anacron ถึงไม่ทำงาน?


9

ฉันมีระบบ Ubuntu ที่ติดตั้ง anacron อย่างไรก็ตามฉันค่อนข้างแน่ใจว่ามันไม่ทำงาน มันไม่ได้รันคำสั่งใน /etc/cron.daily เพื่อหมุนไฟล์ syslog (ฉันใช้ sysklog ซึ่งมีวิธีการบันทึกการหมุนของตัวเองไม่ได้ใช้ logrotate) ครั้งสุดท้ายที่บันทึกกำลังหมุนอยู่ในเดือนตุลาคม 2009 ที่มีอยู่และเนื้อหาที่มี/var/spool/anacron/cron.daily 20091015AFAIR เรามีไฟฟ้าดับและทุกอย่างรีบูต

ฉันจะดีบัก anacron ได้อย่างไร ฉันจะรู้ได้อย่างไรว่าทำไมมันถึงไม่ทำงาน สัญชาตญาณแรกของฉันคือค้นหา/var/log/anacronแต่นั่นไม่ได้อยู่ที่นั่น ฉันจะแก้ไขเพื่อให้มันทำงานอีกครั้งได้อย่างไร

คำตอบ:


5

ดูที่ต่อไปนี้:

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

รายการสุดท้ายในหนึ่งระบบสำหรับฉันคือ 4 พฤศจิกายน 2008

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

รายการมีตั้งแต่ 28 ธันวาคมถึง 4 มกราคมสำหรับฉัน

cat /etc/crontab

คุณควรเห็นรายการที่คล้ายกันนี้สำหรับรายวันรายสัปดาห์และรายเดือน:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

และสิ่งนี้ควรแสดงไฟล์จำนวนมาก:

ls -l /etc/cron.{daily,weekly,monthly}

ใน/etc/cron.dailyฉันมีทั้ง logrotate และ sysklogd

และถ้าคุณทำ:

ps auxww | grep [c]ron

คุณจะเห็นว่าcronภูตกำลังทำงานอยู่

ถ้าคุณทำ:

cat /etc/cron.daily/sysklogd

คุณควรเห็นสองสามบรรทัดที่ลงท้ายด้วย|| exit 0- ตรวจสอบเพื่อให้แน่ใจว่ามีไฟล์อยู่และสำหรับtest -xไฟล์ที่สามารถเรียกใช้งานได้ บางส่วนไม่เหมาะกับฉันเนื่องจากฉันใช้ logrotate

ตรวจสอบเพื่อดูว่า syslogd ทำงานอยู่หรือไม่:

ps -C syslogd

ดูว่ามี savelog อยู่หรือไม่และเรียกใช้งานได้:

ls -l $(type -p savelog)

นั่นคือทั้งหมดที่ฉันสามารถคิดในขณะนี้


4
นอกจากนี้โปรดจำไว้ว่า anacron เป็นเพียงแค่กำหนดค่าสำหรับ cron ดังนั้นจึงไม่ใช่ภูต
LapTop006

10

ลองใช้:

sudo run-parts --test /etc/cron.daily

บรรทัดนั้นจะบอกว่าสคริปต์ใหม่ของคุณอยู่ในกลุ่มที่ "รู้จัก" หรือไม่ ตัวอย่างเช่นอาจเป็นได้ว่าสคริปต์มีชื่อที่ไม่ถูกต้อง, การตั้งค่าสถานะ exec หายไปหรือปัญหาการอนุญาต ฯลฯ

ฉันพบวิธีนี้ว่าเครื่องมือrun-parts (ใช้โดย cron) ไม่ชอบคำต่อท้าย. sh


2

ฉันมี ubunutu 8.04 vps (w / plesk) ที่ติดตั้ง anacron ตั้งค่าผิดพลาดและไม่ทำงาน apt-get install จะสร้างไฟล์ที่เกี่ยวข้องทั้งหมดขึ้นใหม่

หลังจากนั้นสิ่งที่ฉันต้องทำก็คือเพิ่มรายการเข้าไปใน crontab รายชั่วโมงเพื่อยิง anacron และทำให้มันทำงานได้

สคริปต์ที่ฉันใส่ใน cron.hourly / เป็นเพียง

#!bin/bash
/path/to/anacron -s 

1

ลองเริ่มบริการใหม่นั่นทำให้คุณมีข้อผิดพลาดหรือไม่?


0

Linux crons บางตัวไม่สม่ำเสมอ เราใช้ cfengine เพื่อรีสตาร์ท cron และ cron เพื่อดู cfengine สำหรับภารกิจสำคัญ ทุกวันนี้ไม่มีใครผิดพลาดอย่างเห็นได้ชัด ไม่เหมือนในยุค 90 เมื่อ cron ล้มเหลวตลอดวัน :-)


0

มันเป็นชื่อของสคริปต์ใน/etc/cron.{daily,weekly,monthly}/โฟลเดอร์ที่มีจุดอยู่ในนั้นมันดูเหมือนว่าจะไม่ดำเนินการ ลองเปลี่ยนชื่อเป็นบางอย่างโดยไม่มีจุดอยู่ในนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.