ผลลัพธ์ของงาน 'at' และ 'cron`' ไปที่ใด?


9

เอาต์พุตมาตรฐานจากatและcronภารกิจไปที่ใดเนื่องจากไม่มีหน้าจอที่จะแสดง

ไม่ปรากฏในไดเรกทอรีที่งานเริ่มจากหรือในโฮมไดเร็กตอรี่ของฉัน

ฉันจะคิดออกได้อย่างไรว่าฉันไม่รู้วิธีแก้จุดบกพร่องหรือติดตามงานพื้นหลัง?


มักจะส่งผลลัพธ์ทางอีเมล
donothingsuccessfully

ฉันขอแนะนำให้ใช้ mutt "ไคลเอนต์ข้อความขนาดเล็ก แต่ทรงพลัง" เพื่ออ่านผลลัพธ์ มันอยู่ในแหล่งเก็บข้อมูลสำหรับทุก distro ที่ฉันใช้
kwarrick

คำตอบ:


10

จากหน้า cron man:

เมื่อดำเนินการคำสั่งเอาต์พุตใด ๆ จะถูกส่งไปยังเจ้าของ crontab (หรือผู้ใช้ที่มีชื่อในตัวแปรสภาพแวดล้อม MAILTO ใน crontab หากมีอยู่) สำเนาลูกของ cron ที่รันกระบวนการเหล่านี้มีชื่อบังคับเป็นตัวพิมพ์ใหญ่ดังที่เห็นในเอาต์พุต syslog และ ps

ดังนั้นคุณควรตรวจสอบจดหมาย / รูทของคุณหรือ syslog (เช่น. / var / log / syslog)


สำหรับ mac ของฉันหลังจากเรียก "cron" มันจะแสดงเส้นทางไปยัง "อีเมล" ในกรณีของฉันมันเป็น / var / mail / <ชื่อผู้ใช้>
Cédric Guillemette

4

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

  1. ใช้psเพื่อค้นหา ID กระบวนการของโปรแกรมที่กำลังทำงานของคุณ ( PID ด้านล่าง);
  2. ใช้lsofเพื่อค้นหาไฟล์ที่เอาต์พุตกำลังถูกเขียนไปที่:

    lsof -p PID
    

ในผลลัพธ์ค้นหา1uและ2uบรรทัดภายใต้FDส่วนหัวของคอลัมน์

บรรทัดเหล่านี้จะบอกคุณว่าไฟล์ชั่วคราวใดที่เอาต์พุตของกระบวนการกำลังจะเข้าสู่ก่อนที่จะถูกส่งทางไปรษณีย์ โดยปกติสำหรับไฟล์จะอยู่ภายใต้at /var/spool/cron/atjobs/สุดท้ายแสดงไฟล์นั้นและคุณจะพบผลลัพธ์ของกระบวนการ (ปัจจุบัน)


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