2011-08-20 35 views
6

Tôi muốn tìm nạp dữ liệu nhất định từ trang web sau mỗi 24 giờ. Mã phải được thực hiện sau mỗi 24 giờ và cập nhật cơ sở dữ liệu MySQL. Làm thế nào tôi có thể thực hiện điều này mà không cần bất kỳ sự kiện nào của người dùng?Làm thế nào để: thực hiện một khối mã mỗi 24 giờ trong một máy chủ?

Sau đó tôi sẽ sử dụng cùng một dữ liệu để tìm sự khác biệt tổng thể.

totalIncrement = currentData - earlierData

Trong khi earlierData được lấy từ cơ sở dữ liệu MySQL và dữ liệu hiện nay là lấy từ truy vấn trang web bên ngoài.

Tôi đã nghe nói về một cron trên linux nhưng chưa bao giờ thử nó. Có thể cơ thể nào chỉ đưa ra một ý tưởng cơ bản cho điều đó không? hoặc bất kỳ liên kết đáng tin cậy nào?

Có thể tôi muốn làm như sau ::

Trước tiên hãy tạo chương trình/tệp PHP thực hiện công việc tìm nạp. Second thực rằng file PHP mỗi 24 giờ hoặc lâu hơn ...

+0

Một cronjob chắc chắn là những gì bạn đang tìm kiếm. Có rất nhiều tài nguyên trên internet giải thích chúng là gì và cách sử dụng chúng. Bạn có thể bắt đầu với http://en.wikipedia.org/wiki/Cron. –

+4

Bạn đã từng thử Google cho các hướng dẫn về công việc Cron chưa? Thôi nào, người đàn ông - bạn phải ít nhất là cố gắng. –

+0

@Lucanos. Để làm công việc của Google Cron, bạn cần biết rằng nó được gọi là 'cron job'. Nó không được ** hiển nhiên khi tôi chuyển sang Linux. –

Trả lời

-3

Trước tiên, bạn sẽ phải thực hiện một tập tin php ví dụ này cron.php

Vì vậy, bất cứ khi nào bạn đi đến liên kết www.yourdomain.com/ này crom.php tập lệnh được thực thi

Bây giờ, hãy thêm liên kết này vào cron job. Để thiết lập công việc cron trên máy chủ của bạn, bạn có thể chúng tôi this lớp php

+1

Tại sao tất cả mọi người đều không được giải thích mà không giải thích những gì anh ta nói là sai? – BRampersad

+0

có gì sai trong câu trả lời? – jimy

2

Mở vỏ.
(Dừng dịch vụ crond dịch vụ crond dừng)
Sử dụng vi (hoặc biên tập viên khác) để chỉnh sửa tập tin cron hoặc gõ "crontab -e" để làm cho chỉnh sửa của bạn.
Sau khi chỉnh sửa nhấn "ESC". Sau đó, ": wq", để lưu và thoát.
(Khởi động lại dịch vụ bắt đầu dịch vụ)
Dừng và bắt đầu dịch vụ không cần thiết nếu bạn sử dụng crontab -e.

Tập lệnh của bạn sẽ chạy ngay bây giờ. Kiểm tra cú pháp here hoặc here. Để xem các thay đổi bạn đã thực hiện "crontab -l".

Tôi hy vọng điều này sẽ hữu ích.

+0

-1: cron không cần quyền truy cập root (nó được phép cho hầu hết người dùng theo mặc định) hoặc cũng không phải khởi động lại daemon để nhận các tệp crontab mới. Ngoài ra, bạn có hiệu quả nói với mọi người cách sử dụng "vi". tất nhiên crontab -e không (nhất thiết) sử dụng "vi", nó có thể sử dụng bất kỳ trình soạn thảo nào trong biến môi trường VISUAL. Một số bản phân phối sử dụng một trình soạn thảo khác theo mặc định. – MarkR

+0

Nếu bạn sử dụng "vi" thì bạn cần phải khởi động lại dịch vụ, phải không? –

+0

crontab -e MAY gọi "vi", tùy thuộc vào cách cấu hình. Bạn không cần phải khởi động lại dịch vụ trong trường hợp này; nó có thể sử dụng bởi người dùng không phải root. – MarkR

0

Bạn có thể bỏ qua lời khuyên để bắt đầu và dừng cron daemon khi chỉnh sửa crontab (5). Tiện ích crontab (1) thông báo cho cron daemon rằng tệp crontab (5) cần phải được đọc lại và các thay đổi sẽ ảnh hưởng ngay lập tức. Lý do duy nhất bạn cần khởi động lại cron daemon là nếu bạn đã chỉnh sửa trực tiếp crontab (5) file mà không có tiện ích crontab (1).

+0

Xin vui lòng xem xét viết một bình luận cho câu trả lời mà điều này liên quan đến. Tôi nghĩ rằng điểm của bạn là hợp lệ mặc dù. – MarkR

+0

Tôi không có đủ điểm để thêm nhận xét. :( –

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