Câu trả lời:
Tốt nhất nên chạy cron.sh
Kể từ Magento EE 1.13.x và CE 1.8.x, cơ chế cron đã thay đổi trong đó Magento đã giới thiệu chức năng chế độ lập lịch mới.
Có 2 chế độ khả dụng: 1. mặc định - chạy các crons theo lịch trình. 2. luôn luôn - Như tên đã nói, các tác vụ này sẽ được thực hiện vô điều kiện mỗi khi cron được kích hoạt và không cần một lịch trình được xác định rõ ràng.
Về cơ bản cron.php được gọi mà không có bất kỳ tham số nào sử dụng shell_exec để thực thi hai quy trình của cron.sh. Mỗi người có một tham số khác nhau Lần lượt Cron.sh chuyển tham số này trở lại cron.php, sau đó thực thi cron. Trong nội bộ Magento sử dụng cơ sở hạ tầng sự kiện của mình để xử lý hai chế độ bằng cách gửi các sự kiện với các tên mặc định là Thay đổi và và luôn luôn. Mage_Cron sau đó thực hiện hai phương thức quan sát viên.
Nhìn vào cron.php, bạn sẽ thấy việc sử dụng hàm PHP shell_exec. Ngoài việc là một mối quan tâm bảo mật, chức năng có thể trả về NULL cả khi xảy ra lỗi hoặc chương trình không tạo ra đầu ra. Không thể phát hiện lỗi thực thi bằng chức năng này. Điều này có nghĩa là tại bất kỳ thời điểm nào khi tập lệnh / mã của bạn bị lỗi do lỗi, điều sau đây xảy ra: 1. Cronjob trở nên cũ, 2. Không có lỗi nào được ghi lại, 3. và không ai biết rằng bất kỳ điều này đã xảy ra.
Để khắc phục điều này, cần thêm các cronjob sau:
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
Điều này sẽ đảm bảo rằng các chế độ xử lý sẽ luôn chạy mà không sử dụng hàm PHP shell_exec dự phòng và cron không nên trở nên cũ vì một ngoại lệ được đưa ra nếu xảy ra lỗi.
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default */5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
và các lệnh này đưa ra lỗi "lệnh không tìm thấy" bởi nupur walia
*/5 * * * * /bin/sh /path/to/magento/cron.sh cron.php -m=default
www-data
sẽ thay đổi thành bất cứ điều gì người dùng chạy các quy trình máy chủ web. Cũng đáng lưu ý rằng đối với nhiều thiết lập lưu trữ CPanel / WHM,shell_exec()
sẽ bị vô hiệu hóa.