บันทึก cron อยู่ที่ไหนใน Ubuntu 14.04


12

ฉันพยายามแก้ไขปัญหาว่าทำไม cron task ของฉันไม่ทำงานในบางครั้ง cron เก็บไฟล์บันทึกไว้ที่ใด มัน / var / log / syslog?

ฉันดูไฟล์นั้นแล้วและว่างเปล่า ฉันจำเป็นต้องตั้งค่าบางอย่างหรือไม่?

คำตอบ:


23

ตามค่าเริ่มต้นบันทึกของ cron จะถูกบันทึกใน / var / log / syslog มันขึ้นอยู่กับการกำหนดค่า rsyslogd คุณสามารถเปลี่ยนมันได้:
ไปที่ rsyslog config

cd /etc/rsyslog.d/
sudo nano 50-default.conf

บรรทัดที่ไม่แสดงตัว:

# cron. * /var/log/cron.log

บันทึกไฟล์และรีสตาร์ท rsyslog

sudo บริการ rsyslog รีสตาร์ท 

รีสตาร์ท cron daemon ของคุณเพื่อรับข้อความจากไฟล์ใหม่

sudo บริการ cron เริ่มใหม่

7

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

แต่ไม่มีความกลัวPostfixอยู่ที่นี่!

ติดตั้ง Postfix

sudo apt-get update
sudo apt-get postfix ติดตั้ง heirloom-mailx

เมื่อติดตั้งpostfixแล้วมันจะถามคุณว่าคุณต้องการติดตั้งมันอย่างไร ในหน้าจอแรกเลือกlocal onlyและดำเนินการตามค่าเริ่มต้นสำหรับทุกอย่างอื่น

การกำหนดค่า Postfix

/etc/aliasesตอนนี้ใช้โปรแกรมแก้ไขที่คุณชื่นชอบแก้ไข มันจะมีลักษณะเช่นนี้ในตอนแรก:

# ดูชื่อแทน 5 คนสำหรับรูปแบบ
บุรุษไปรษณีย์: รูต

สิ่งนี้หมายความว่าจดหมายใด ๆ ที่ส่งไปpostnasterจะถูกส่งไปยังrootเช่นกัน ในกรณีนี้เราต้องการให้ส่งจดหมายใด ๆroot(สำหรับจดหมาย cron และจดหมายระบบอื่น ๆ ) ที่จะส่งไปยังusername(เรา)

ดังนั้นแก้ไข/etc/aliasesให้ดูเหมือน:

# ดูชื่อแทน 5 คนสำหรับรูปแบบ
บุรุษไปรษณีย์: รูต
root: นอร์แมน

(แทนที่normanด้วยชื่อผู้ใช้ของคุณอย่างชัดเจนเว้นแต่คุณจะมีชื่อ / ชื่อผู้ใช้เดียวกันกับฉัน :))

หลังจากที่ทุกคนพูดและทำแล้วให้เรียกใช้คำสั่งต่อไปนี้เพื่อpushเปลี่ยนแปลง:

sudo newaliases

ตอนนี้หลังจากที่ทำงาน:

sudo dpkg-reconfigure postfix

คุณจะได้รับหน้าจอเดียวกับที่คุณเคยติดตั้งมาpostfixก่อน ทำงานผ่านค่าเริ่มต้น ( Local Onlyฯลฯ ) เมื่อคุณไปถึงตอนที่ขอรูทและชื่อแทนภายหลังให้ตรวจสอบให้แน่ใจว่าเป็นชื่อเดียวกันกับที่คุณเพิ่มไว้/etc/aliasesด้านบน จากนั้นเรียกใช้ผ่านค่าเริ่มต้น

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

sudo service postfix ทำการรีสตาร์ท

ข้อสรุป

ตอนนี้ถ้า cron มีข้อผิดพลาดมันจะถูกส่งถึงคุณ แต่คุณอาจสงสัยว่าฉันจะเช็คอีเมลของฉันได้อย่างไรในโลก?

หากต้องการทำเช่นนั้นให้เรียกใช้คำสั่ง:

อีเมล

ง่าย ๆ No mail for <username>หากมีจดหมายไม่มีมันจะบอกว่า มิฉะนั้นคุณจะได้รับส่วนต่อประสานเทอร์มินัลที่ใช้งานได้ดี ดูหน้าคนสำหรับข้อมูลเกี่ยวกับวิธีการโต้ตอบกับกล่องจดหมายของคุณ

หรือถ้าคุณต้องการคุณสามารถเข้าถึงหน้าคนท้องถิ่นของคุณโดยใช้:

จดหมายผู้ชาย

และตอนนี้คุณทำเสร็จแล้ว! :)

PS คุณควรอ่านนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับcronปัญหา


1
crondเมลเจ้าของงานไม่จำเป็นต้องรูทดังนั้นหากเป็นงานของคุณเองที่คุณติดตั้งไว้crontab -eคุณก็จะได้รับเมล สิ่งนี้ก็เป็นจริงเช่นกันไม่ว่างานนั้นจะ“ ล้มเหลว” หรือไม่เพียงแค่ส่งหลักฐานการส่งออกใด ๆ
psusi

0

เมื่อทำงานmailฉันได้รับการตอบสนองต่อไปนี้:

The program 'mail' is currently not installed. To run 'mail' please ask your administrator to install the package 'mailutils'

ฉันพบข้อผิดพลาด / เมลที่เก็บไว้แทน /var/mail/root


-1

มันอยู่ใน/var/log/syslogค่าเริ่มต้น

แต่สามารถตั้งค่าเพื่อสร้าง cron.log แยกต่างหากซึ่งมีประโยชน์มากกว่า

คำถาม & คำตอบนี้อธิบายกระบวนการ:

16.04: ฉันจะทำให้ cron สร้าง cron.log และตรวจสอบในเวลาจริงได้อย่างไร

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

จะเปลี่ยนระดับการบันทึก cron ได้อย่างไร?

ที่แสดงวิธีการเปลี่ยนระดับการบันทึกเพื่อรวมมากกว่าแค่การเริ่มงาน - ระดับ 15 จะแสดงข้อผิดพลาดและเวลาสิ้นสุดเช่นกัน

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