2010-01-10 37 views
6

Tôi đang phát triển một ứng dụng web yêu cầu sử dụng Cron. Tôi muốn làm cho nó dễ dàng để thiết lập với một quá trình cài đặt tự động như Wordpress. Tôi không gặp vấn đề gì khi viết kịch bản cài đặt lên vi cho đến lúc thiết lập Cron. Xin vui lòng cho tôi biết nếu tôi có thể làm điều này.Cài đặt lệnh cron bằng tập lệnh php

Trả lời

9

Bạn chỉ cần tạo file cron, sau đó sử dụng exec để thiết lập cron rằng:

$cron_file = 'cron_filename'; 
// Create the file 
touch($cron_file); 
// Make it writable 
chmod($cron_file, 0777); 
// Save the cron 
file_put_contents($cron_file, '* * * * * your_command'); 
// Install the cron 
exec('crontab cron_file'); 

Điều này đòi hỏi người sử dụng mà PHP đang chạy dưới có quyền thực hiện các crontabs. Tập tin cron này theo mặc định sẽ thay thế bất kỳ crons nào khác cho người dùng đó, vì vậy hãy đảm bảo hỏi người dùng xem liệu anh ta có muốn áp dụng cron không. Ngoài ra hãy đảm bảo rằng thư mục bạn đang viết tệp crontab có thể ghi được.

+0

Cảm ơn bạn vì điều đó. –

+1

Không sử dụng 'chmod 0777'. Quyền hạn nên được giới hạn ở mức tối thiểu, trong trường hợp này là '0600'. Và, như đã nói, thông dịch viên PHP phải được phép chỉnh sửa crontab và thậm chí là trường hợp đó, nó có thể xung đột với các cronjob khác từ cùng một người dùng. – deamon

+0

vì vậy nếu CronTab không thể truy cập vào Apache, nó không đi đúng không? Đây là những gì tôi sợ. –

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