2012-01-17 30 views
124

Tôi muốn thiết lập một công việc để chạy hàng ngày trong crontab gốc. Nhưng tôi muốn nó thực hiện nó từ một thư mục cụ thể để nó có thể tìm thấy tất cả các tệp cần thiết, vì ứng dụng có một loạt các đường dẫn tương đối.Crontab - Chạy trong thư mục

Dù sao, tôi có thể yêu cầu crontab chạy từ một thư mục cụ thể không?

Trả lời

219

Tất cả công việc đều được thực thi bởi trình bao, vì vậy hãy bắt đầu đoạn mã trình bao đó bằng lệnh để thay đổi thư mục.

cd /path/to/directory && ./bin/myapp 
+0

Thay vì thêm câu trả lời chủ yếu là trùng lặp, hãy để tôi thêm rằng bạn có thể chọn vỏ (nếu bạn cần bash thay vì sh, ví dụ) bằng cách đặt 'SHELL' trong crontab của bạn. –

+0

Vì vậy, lệnh này sẽ là để thực hiện các ứng dụng (được lưu trữ trong bin) trong một thư mục, phải không? Nhưng nếu bạn đã cài đặt ứng dụng trong thư mục bên phải, lệnh tôi đưa vào câu trả lời của tôi sẽ là ok, đúng không? Xin lỗi, tôi chỉ không hiểu câu hỏi. –

+5

+1. mọi giải pháp của câu hỏi liên quan khác là viết lại kịch bản với đường dẫn tuyệt đối. đây là chính xác những gì tôi cần –

Các vấn đề liên quan