Câu trả lời:
Câu hỏi của bạn làm cho rất ít ý nghĩa. Sử dụng cd
. Nếu bạn yêu cầu câu trả lời không sử dụng cd
vì bạn đã thử và nó không hoạt động, có khả năng bạn đã không nhập chính xác vào crontab.
Cách đơn giản nhất là viết một tập lệnh shell nhỏ sẽ cd và chạy tác vụ chính của bạn, sau đó ghi lại tập lệnh.
&&
), nhưng bạn cũng có thể viết một tập lệnh riêng có chứa tất cả các lệnh và chỉ cần đặt đường dẫn đến tập lệnh theo cron, như Daenyth đề xuất. Tập lệnh của bạn có thể làm một cái gì đó như đọc thư mục từ một tệp cấu hình nếu bạn muốn - vấn đề là, tuy nhiên, bạn muốn lấy tên thư mục vào tập lệnh của mình, không có lý do gì để không sử dụng cd
.
Chỉ cần xác định đường dẫn đến kịch bản. Không cần cd
:
0 12 * * * /path/to/script args
Nếu tập lệnh của bạn tìm kiếm các tập tin .
, thì bạn sẽ phải sử dụng cd
:
0 12 * * * cd /some/dir && /path/to/script args
&&
, như trong câu trả lời @WillSheppard liên kết đến, sẽ tốt hơn ;
vì &&
chỉ chạy lệnh tiếp theo nếu lệnh trước đó thành công.