ฉันแค่ต้องการเรียกใช้คำสั่ง (จริง ๆ แล้วมันเป็นเชลล์สคริปต์) จากไดเรกทอรีที่กำหนดเป็นงาน cron cd
ฉันสามารถเรียกใช้มันเพื่อให้มันถูกกำหนดเป็นไดเรกทอรีที่กำหนดโดยไม่ต้องใช้
ฉันแค่ต้องการเรียกใช้คำสั่ง (จริง ๆ แล้วมันเป็นเชลล์สคริปต์) จากไดเรกทอรีที่กำหนดเป็นงาน cron cd
ฉันสามารถเรียกใช้มันเพื่อให้มันถูกกำหนดเป็นไดเรกทอรีที่กำหนดโดยไม่ต้องใช้
คำตอบ:
คำถามของคุณมีเหตุผลเล็กน้อย cd
ใช้ หากคุณขอคำตอบที่จะไม่ใช้cd
เพราะคุณได้ลองแล้วมันใช้งานไม่ได้อาจเป็นไปได้ว่าคุณไม่ได้ป้อนอย่างถูกต้องใน crontab
วิธีที่ง่ายที่สุดคือการเขียนเชลล์สคริปต์ขนาดเล็กที่จะ cd และรันภารกิจหลักของคุณจากนั้นให้สคริปต์กับ cron
&&
) แต่คุณยังสามารถเขียนสคริปต์แยกต่างหากที่มีคำสั่งทั้งหมดและเพียงใส่เส้นทางไปยังสคริปต์ใน cron เช่น Daenyth แนะนำ สคริปต์ของคุณสามารถทำสิ่งที่ชอบอ่านไดเรกทอรีจากแฟ้มการกำหนดค่าที่คุณชอบ - จุดที่เป็น cd
แต่คุณต้องการที่จะได้รับชื่อไดเรกทอรีในสคริปต์ของคุณมันเป็นข้ออ้างที่จะไม่ใช้ไม่มี
เพียงระบุเส้นทางไปยังสคริปต์ ไม่จำเป็นต้องcd
:
0 12 * * * /path/to/script args
หากสคริปต์ของคุณค้นหาไฟล์.
คุณจะต้องใช้cd
:
0 12 * * * cd /some/dir && /path/to/script args
&&
เช่นเดียวกับในคำตอบ @WillSheppard ลิงก์ไปยังจะดีกว่า;
เพราะ&&
เพียงเรียกใช้คำสั่งถัดไปหากคำสั่งก่อนหน้านี้ประสบความสำเร็จ