Tôi đang sử dụng Ubuntu trên máy chủ và tôi đang sử dụng Putty để truy cập. Tôi muốn tạo cronjobs cho trang web php của tôi. Tôi có thể làm cái này như thế nào?Công việc Cron trên Ubuntu cho php
Trả lời
Nếu bạn có nghĩa là bạn muốn trang web php của bạn để làm một số nhiệm vụ thường xuyên, có hai cách có thể.
1) Bạn sử dụng cron để kéo một trang nhất định thường xuyên. Bạn có thể thực hiện việc này bằng trình duyệt dựa trên văn bản, ví dụ: Linh miêu. Bạn kéo kịch bản của bạn như thế này:
* * * * * /usr/bin/lynx http://yourhost.com/cron.php -dump > /dev/null
(Điều này sẽ gọi nó là mỗi phút Bằng cách đó bạn có thể xây dựng lịch trình của riêng bạn bên trong ứng dụng của bạn.)
2) Bạn gọi script của bạn với các dòng lệnh php phiên dịch:
* * * * * /usr/bin/php /path/to/cron.php > /dev/null
Nói chung giải pháp hai là tốt hơn. Tuy nhiên, bạn sẽ cần truy cập vào hộp. Các cron trong một giải pháp có thể được kích hoạt từ một máy chủ khác nhau, nếu bạn không thể cài đặt crons trên máy chủ.
Cũng hãy cẩn thận với một lỗ hổng phổ biến khi sử dụng phiên bản dòng lệnh của php. Trên debian (và các hệ thống tiềm năng khác) có thể có các tệp php.ini riêng biệt cho cgi, cli và mod_php. Nếu bạn đã tùy chỉnh cấu hình của mình, hãy đảm bảo rằng dòng lệnh php đang sử dụng đúng. Bạn có thể kiểm tra điều này với:
/usr/bin/php -i | less
Để đối phó với những nhận xét của Dimo tôi thực hiện một số điểm chuẩn. Tôi gọi một kịch bản php địa phương đơn giản (mà chỉ echos "test") 1000 lần với lynx, wget và php-cli:
kbsilver:temp kbeyer$ time . wget.sh
real 0m14.223s
user 0m2.906s
sys 0m6.335s
(Command: wget -O /dev/null "localhost/test.php"; 2> /dev/null)
kbsilver:temp kbeyer$ time . lynx.sh
real 0m26.511s
user 0m5.789s
sys 0m9.467s
(Command: lynx -dump "localhost/test.php"; > /dev/null)
kbsilver:temp kbeyer$ time . php_cli.sh
real 0m54.617s
user 0m28.704s
sys 0m18.403s
(Command: /opt/local/bin/php /www/htdocs/test.php > /dev/null)
Server là lighttpd
, php(fastcgi)
với APC (trên Mac OS X).
Nó chỉ ra rằng thực sự wget là công cụ tốt nhất cho công việc liên quan đến tốc độ.
Vì vậy, kết quả của php-cli
không phải là đáng ngạc nhiên khi các phương pháp khác tái sử dụng một chuỗi php đang chạy với bộ nhớ cache opcode.
Vì vậy, lợi thế thực sự duy nhất của việc sử dụng php-cli là bảo mật vì tập lệnh sẽ không có sẵn từ bên ngoài vì bạn có thể đặt nó bên ngoài docroot.
(Kiểm tra này rõ ràng không chính xác 100%, nhưng sự khác biệt khá rõ ràng theo ý kiến của tôi)
Tôi tưởng tượng wget là một công cụ tốt hơn cho điều này hơn là lynx -dump – dimo414
Tôi đang giả sử bạn muốn sao lưu trang web PHP của mình? Chỉnh sửa crontab sử dụng:
crontab -e
này sẽ khởi động một thể hiện của vi trong đó bạn có thể chỉnh sửa crontab, nhấn i cho chế độ chèn. Sau đó bạn cần để đưa vào các thông tin cho khi mục cron sẽ chạy và các lệnh để chạy vào thời điểm đó, ví dụ:
30 10 * * * tar -zcvf ./myphpsite.tar.gz /var/www/phpsite
Vì vậy, lệnh trên sẽ tar gzip phpsite của bạn trong/var/www/phpsite tại 10:30 mỗi ngày. Thoát và bỏ vi với : wq
Xem này để tham khảo thêm:
- 1. Công việc CRON cho người viết mã
- 2. Công việc Cron trong symfony2
- 3. Cách chạy công việc Cron cho Node.js
- 4. Tạo một công việc cron cho mysqldump
- 5. Làm thế nào để thiết lập một công việc cron cho PHP trên IIS?
- 6. cách thiết lập công việc cron từ tập lệnh php?
- 7. Chạy một công việc Cron
- 8. Xây dựng lịch biểu công việc cron
- 9. Công việc cron có thực hiện việc hủy cron cuối cùng không?
- 10. Công việc Cron cho tập lệnh php yêu cầu thời gian thực thi RẤT dài
- 11. biểu thức cron cho mỗi> công việc 60 phút
- 12. công việc cron magento và bảng cron_scheduler
- 13. Tạo công việc Cron trong C#
- 14. Permission denied trong công việc cron COMAND
- 15. Công việc Cron ba ngày một lần
- 16. Cron Công việc trong khung chơi 2.0
- 17. Công việc Cron không chạy (trong dev)
- 18. Thiết lập công việc cron trong Windows
- 19. Cách thêm công việc cron vào linux
- 20. Cách chạy cron job khi một công việc cron khác kết thúc?
- 21. Công việc Cron tạo tệp trống mỗi khi nó chạy
- 22. Cron không thành công trên apostrophe đơn
- 23. PHP CRON việc làm, tiêu đề HTTP không ra
- 24. cách chạy tệp php bằng cách sử dụng công việc cron
- 25. Tôi phải làm gì khi công việc cron không đủ? (php)
- 26. Sự khác biệt giữa việc sử dụng Hàng đợi Tin nhắn so với Công việc Cron Đồng bằng với PHP
- 27. công việc cron sẽ không bao giờ thực hiện
- 28. Thời gian kích hoạt công việc Cron hoặc Quartz?
- 29. Công việc Cron - để chạy cứ 5 giây
- 30. cron job hoặc PHP scheduler
Thuộc về serverfault. – hobodave
Ngoài ra, vui lòng không hỏi câu hỏi của bạn nhiều lần, nếu bạn nhận thấy mình không giải thích chính xác, hãy nhấp vào liên kết chỉnh sửa trên câu hỏi của bạn và thêm thông tin khác. – dimo414