โปรดทราบ : ฉันได้อ่านคำถามที่คล้ายกันทั้งหมดแล้ว cron, พา ธ , ตัวแปร env และอื่น ๆ แต่ไม่พบใครที่เสนอวิธีแก้ปัญหาเฉพาะของฉัน
ฉันมีสคริปต์ที่ทำให้ MySQL ทิ้งและลบไฟล์เก่าแบบนี้:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
( คำสั่งด้านบนได้รับการแก้ไขจากคำสั่งเดิมของฉันโดยคำแนะนำจากความคิดเห็น )
อย่างไรก็ตามไฟล์จะไม่ถูกลบเมื่อ cron รันสคริปต์นี้ ผู้ใช้ cron คือรูท
การดีบักโน้ต
ถ้าฉันเรียกใช้สคริปต์ด้วยตนเองซึ่งคำสั่งปรากฏขึ้นมันจะลบออกตามที่คาดไว้
หากฉันรันคำสั่ง find ด้านบนด้วยตัวเองจากบรรทัดคำสั่งในฐานะรูทคำสั่งจะลบมันตามที่คาดไว้ (และด้วย -print จะส่งคืนรายการไฟล์ที่เก่ากว่า 5 วันตามที่คาดไว้)
ฉันยังได้เพิ่มคำสั่งพา ธ ที่ชัดเจนไปยัง crontab ของรูท แต่
นั่นไม่เปลี่ยนแปลงอะไรเลยCron ส่งข้อผิดพลาดไม่และถ้าฉันไปป์การดำเนินการค้นหาไปยังแฟ้มบันทึก
ที่ว่างเปล่าหรือไม่ได้สร้างเลยฉันใช้เซิร์ฟเวอร์ Ubuntu 14.04.03 LTS
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
คำสั่งถูกเรียกใช้ผ่านเชลล์และเชลล์ขยาย wildcard
cron
ควรส่งอีเมลพร้อมเอาต์พุตและข้อความแสดงข้อผิดพลาด คุณได้รับอีเมลดังกล่าวจากงานนี้หรือไม่?