จะหาบันทึก Crontab ได้ที่ไหนใน CentOS


36

ก่อนอื่นฉันใช้ CentOS

 [root@a etc]# cat system-release
 CentOS release 6.5 (Final)

[root@a cron.daily]# ps -ef | grep cron
root       982     1  0 Jun14 ?        00:01:15 crond
root      5692  5441  0 00:49 pts/0    00:00:00 grep cron
[root@a cron.daily]#

และฉันหมดทรัพยากรของฉันดังนั้นฉันต้องการลบไฟล์บันทึกเก่าในกรณีนี้ฉันต้องการลบไฟล์บันทึกเก่าที่ปลอดภัยซึ่งมีขนาดเกือบมากกว่า 100MB ดังนั้นฉันจึงให้รายการ crontab ด้านล่างสำหรับrootผู้ใช้ .

[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#

หลังจากไม่กี่วันต่อมาฉันก็รู้ว่ารายการ crontab นี้ไม่ทำงานและฉันก็ยังเห็นไฟล์เก่าอยู่

[root@a log]# find /var/log -name "secure-*"
/var/log/secure-20141214
/var/log/secure-20141107
/var/log/secure-20141130
/var/log/secure-20141221
[root@a log]#

หลังจากนั้นฉันพยายามค้นหาบันทึก crontab ภายใต้ไดเรกทอรี /etc/crontab.daily และไม่พบผลลัพธ์ที่เกี่ยวข้องใด ๆ จะค้นหาบันทึก crontab ได้อย่างไรและจะทราบได้อย่างไรว่า crontab ทำงานได้สำเร็จหรือไม่

คำตอบ:


57

Cron บันทึกบน CentOS 6 จะอยู่ใน/var/log/cronค่าเริ่มต้น บันทึกการทำงานของคำสั่งเท่านั้นไม่ใช่ผลลัพธ์หรือสถานะออก ผลลัพธ์ของคำสั่งที่ดำเนินการไปที่เมลของผู้ใช้โดยค่าเริ่มต้น (เมลของรูทในกรณีนี้) อีเมลสำรองสามารถระบุได้โดยตัวแปร MAILTO ภายใน crontab

คุณควรดูlogrotateกฎการปรับแทนการกำหนดเองของคุณcronซึ่งจัดการการลบ / var / log / บันทึกการรักษาความปลอดภัยแล้ว


2
คุณสามารถใช้run-parts stackoverflow.com/questions/4984725/how-to-test-cron-jobไปทดสอบ cron และตรวจสอบการส่งออกคำสั่งที่/var/spool/mail/(user) superuser.com/questions/306163/...
จูเนียร์เอ็ม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.