Lập kế hoạch lệnh bởi hệ thống không hoạt động


7

Vì vậy, cronhoặc atcó thể lên lịch các lệnh của chúng tôi để chạy vào thời điểm chính xác mà chúng tôi cần, nhưng chúng tôi có thể lên lịch các lệnh để chạy khi hệ thống không hoạt động không ?

Cái gì đó như:

echo "some_commands" | when 'cpu < 15%' 

bạn phải cụ thể hơn: mục đích của some_command là gì?

từ câu hỏi của bạn không rõ liệu bạn nói về seti @ home hay một số kịch bản bảo trì bị trì hoãn.

một kịch bản để chạy khi máy tính không quá bận rộn ....
Stefan

2
không hop, tôi không cố tỏ ra dày và tôi cũng không cố tỏ ra thô lỗ. Tôi sẽ cho rằng câu hỏi của tôi đủ rõ ràng vì 3 câu trả lời nhận được đều được đưa ra.
Stefan

1
Đây là một câu hỏi hay @Stefan. Ở công việc trước đây của chúng tôi, chúng tôi đã chạy rất nhiều công việc hàng loạt phụ thuộc vào Oracle bằng DBMS_JOB và thông thường chỉ chạy các công việc khi tải xuống dưới một mức cụ thể. Tôi thường ước chúng tôi có thể làm tốt điều này bằng cách sử dụng cron, nhưng chúng tôi chỉ đưa ra các giải pháp hackish.
Stefan Lasiewski

Câu trả lời:


2

hmmm ... tôi không nghĩ vậy ... nhưng những gì bạn có thể làm là cron một kịch bản để chạy như sau mỗi 5 phút và kiểm tra mức trung bình tải để xem nó có chấp nhận được không. Tôi sẽ không kiểm tra hiện tại vì bạn có thể có được cpu ở giữa 2 đỉnh thực sự cao. Đây chỉ là suy nghĩ về những gì tôi sẽ làm để thực hiện điều này, nhưng có thể có một cách tốt hơn.


3
Hãy nhớ rằng uptimecác báo cáo tải trung bình trong ba khoảng thời gian khác nhau (phút cuối, năm phút cuối và mười lăm phút cuối). Nói chung, tải trung bình chỉ là số mục trung bình trong hàng đợi chạy trong khoảng thời gian đó. Trên một số hệ thống (đặc biệt là Linux), các quy trình ở trạng thái "D" được tính là có thể chạy được. Vì vậy, một hệ thống với các quy trình chờ trên máy chủ NFS chậm (hoặc thiếu) có thể có mức trung bình tải lớn không liên quan gì đến tải thực trên hệ thống.
Jim Dennis

6

Fcron có rất nhiều tính năng bổ sung so với các crond thông thường. Ví dụ:

  • đặt giá trị trung bình tải hệ thống tối đa theo đó công việc sẽ được chạy

(trích dẫn từ Trang chủ)

Vì vậy, bạn có thể sử dụng fcron để thiết lập những gì bạn muốn.


4

Trên nhiều hệ thống, tại daemon được cấu hình sao cho batchlệnh sẽ chạy lệnh khi hệ thống giảm xuống dưới một tải nhất định. Tuy nhiên, điều này có thể không cung cấp cho bạn quyền kiểm soát chi tiết tốt mà bạn đang tìm kiếm.


Từ 'man batch' trên hệ thống Fedora 14 của tôi: lô thực thi các lệnh khi mức tải hệ thống cho phép; nói cách khác, khi trung bình tải giảm xuống dưới 0,8 hoặc giá trị được chỉ định trong lệnh gọi của atd.
dr-jan

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.