Điểm:0

Làm cách nào để tôi có được Crontab để chạy toàn bộ thư mục tệp PHP?

lá cờ in

Tôi đã tạo một chương trình nhỏ sẽ tạo các tệp php và đặt chúng vào thư mục '/ crons' để cho phép các công việc định kỳ thực thi các tệp. Các tệp php này sẽ được tạo và đặt tên động dựa trên đầu vào của người dùng. Vì vậy, tôi đã tự hỏi làm thế nào tôi có thể yêu cầu Crontab thực thi TẤT CẢ các tập lệnh php trong thư mục '/ crons' đó cùng một lúc. Đây có phải là một loại biểu thức chính quy (regEx) có ký tự đại diện để chạy toàn bộ thư mục, như được hiển thị bên dưới (một cái gì đó tương tự như vậy) không?

*/1 * * * * php /var/www/mywebsite.com/path-to-my-awesome-php-scripts/crons/*

Chính xác thì tôi cần phải làm gì? Điều này có yêu cầu tập lệnh bash hoặc shell không? (Tôi không có kinh nghiệm với bash hoặc shell). Cảm ơn.

Paul avatar
lá cờ cn
Đó không phải là làm việc?
Aaron Esteban avatar
lá cờ in
Ồ, tôi chưa thực sự thử điều đó, nhưng cron có chấp nhận ký tự đại diện regEx ở cuối thư mục không? Tôi sẽ cho nó nó một cơ hội. Chỉ tự hỏi liệu điều này có hoạt động không và nếu không, nó có tương tự như thế này không?
Paul avatar
lá cờ cn
Bạn có thể thấy trong `/etc/crontab` nó bắt đầu `SHELL=/bin/sh`.
Aaron Esteban avatar
lá cờ in
Ok, vì vậy tôi đã kiểm tra nó và dường như nó chỉ chạy 1 tệp php thay vì 2 tệp php mà tôi có trong thư mục. Có thể cron chỉ có thể chọn tệp đầu tiên.
Chris avatar
lá cờ it
Nếu không có kinh nghiệm với bash hoặc shell, tôi sẽ tạo một tập lệnh php khác sẽ xử lý logic của bạn với `path-to-my-awesome-php-scripts/crons/*` và bạn chỉ cần gọi nó trong công việc định kỳ `*/1 * * * * php /var/[...]/path-to-my-awesome-php-scripts/cronjob.php`
Aaron Esteban avatar
lá cờ in
Phải, và tôi đã nghĩ về Chris đó chẳng hạn như một tệp chính có bao gồm trong đó, nhưng tôi tự hỏi liệu đã có một cách đơn giản để thực hiện điều đó bằng lệnh crontab chưa.
Paul avatar
lá cờ cn
Nếu có sự cố khi chạy các tập lệnh khác, thì có lỗi không?
Điểm:1
lá cờ jp

Khi bạn chạy php *.php thì trình thông dịch PHP chỉ thực thi tệp đầu tiên. Bạn có thể kiểm tra nó bên ngoài cron môi trường.

Bạn có thể dùng bộ phận chạy để chạy tất cả các tệp thực thi trong một thư mục cụ thể. Nhìn thấy trang người đàn ông run-parts

Bạn sẽ cần làm cho các tệp PHP của mình có thể thực thi được bằng một #! tiêu đề và bit thực thi. Của bạn crontab nên trông giống như

*/1 * * * * run-parts /var/www/mywebsite.com/path-to-my-awesome-php-scripts/crons
Aaron Esteban avatar
lá cờ in
Xin chào Alex, bạn có thể chỉ cho tôi một ví dụ về cách tạo các tiêu đề #! thích hợp và một bit thực thi được không? Tôi chưa bao giờ thấy điều này trước đây trong php.Nếu bạn có thể chỉ cho tôi một ví dụ nhanh với cú pháp thích hợp về những gì bạn đang đề cập, tôi có thể lấy hình ảnh và viết nó đúng từ thời điểm đó. Cảm ơn bạn đã phản hồi của bạn.
lá cờ jp
@AaronEsteban, https://stackoverflow.com/questions/21731745/how-to-add-shebang-with-php-script-on-linux

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.