เอาต์พุตมาตรฐานจากatและcronภารกิจไปที่ใดเนื่องจากไม่มีหน้าจอที่จะแสดง
ไม่ปรากฏในไดเรกทอรีที่งานเริ่มจากหรือในโฮมไดเร็กตอรี่ของฉัน
ฉันจะคิดออกได้อย่างไรว่าฉันไม่รู้วิธีแก้จุดบกพร่องหรือติดตามงานพื้นหลัง?
เอาต์พุตมาตรฐานจากatและcronภารกิจไปที่ใดเนื่องจากไม่มีหน้าจอที่จะแสดง
ไม่ปรากฏในไดเรกทอรีที่งานเริ่มจากหรือในโฮมไดเร็กตอรี่ของฉัน
ฉันจะคิดออกได้อย่างไรว่าฉันไม่รู้วิธีแก้จุดบกพร่องหรือติดตามงานพื้นหลัง?
คำตอบ:
จากหน้า cron man:
เมื่อดำเนินการคำสั่งเอาต์พุตใด ๆ จะถูกส่งไปยังเจ้าของ crontab (หรือผู้ใช้ที่มีชื่อในตัวแปรสภาพแวดล้อม MAILTO ใน crontab หากมีอยู่) สำเนาลูกของ cron ที่รันกระบวนการเหล่านี้มีชื่อบังคับเป็นตัวพิมพ์ใหญ่ดังที่เห็นในเอาต์พุต syslog และ ps
ดังนั้นคุณควรตรวจสอบจดหมาย / รูทของคุณหรือ syslog (เช่น. / var / log / syslog)
สำหรับกระบวนการที่ใช้เวลานานบางครั้งมีประโยชน์ที่จะทราบว่าผลลัพธ์คืออะไรก่อนที่คุณจะได้รับอีเมลฉันจะใช้สิ่งนี้แทน:
psเพื่อค้นหา ID กระบวนการของโปรแกรมที่กำลังทำงานของคุณ ( PID
ด้านล่าง);ใช้lsofเพื่อค้นหาไฟล์ที่เอาต์พุตกำลังถูกเขียนไปที่:
lsof -p PID
ในผลลัพธ์ค้นหา1uและ2uบรรทัดภายใต้FDส่วนหัวของคอลัมน์
บรรทัดเหล่านี้จะบอกคุณว่าไฟล์ชั่วคราวใดที่เอาต์พุตของกระบวนการกำลังจะเข้าสู่ก่อนที่จะถูกส่งทางไปรษณีย์ โดยปกติสำหรับไฟล์จะอยู่ภายใต้at /var/spool/cron/atjobs/สุดท้ายแสดงไฟล์นั้นและคุณจะพบผลลัพธ์ของกระบวนการ (ปัจจุบัน)
1uและเป็นประเภท2u UNIXฉันเดาว่านี่คือซ็อกเก็ตยูนิกซ์ ฉันจะดูไฟล์ได้อย่างไร