Điểm:1

Có cách nào để xếp hàng các tập lệnh trong ubuntu/debian/linux không?

lá cờ ph

Tôi có một câu hỏi lạ (ít nhất là với tôi!), nhưng tôi không chắc làm thế nào để tiếp cận nó.

Lý lịch

Tôi có một vài công việc hàng loạt (tập lệnh python được gọi qua cron hoặc tập lệnh python được gọi bằng tập lệnh bash). Ví dụ: 20 công việc ETL và 20 công việc xử lý dữ liệu. Điều đó xảy ra vào những thời điểm khác nhau.

Phương cách hiện hành

Tôi tiếp tục bật máy chủ của mình và chạy các công việc định kỳ để chạy tập lệnh vào thời điểm dự định (không phải tất cả chúng chạy cùng lúc.. một tập lệnh có thể chạy lúc 1 giờ chiều trong khi tập lệnh khác chạy lúc 5 giờ chiều). Điều này đang làm việc hoàn hảo ngay bây giờ

Vấn đề Tôi muốn tiết kiệm tiền và các công việc không nhất thiết phải bắt đầu chính xác vào thời điểm tôi đã đặt, chúng có thể chậm hơn vài phút hoặc một hoặc hai giờ, vì vậy tôi đã nghĩ đến việc sử dụng các phiên bản có thể ưu tiên khởi động máy chủ theo lịch trình.

Tôi đã nghĩ đến việc khởi động máy chủ mỗi giờ và sau đó nó sẽ xử lý bất kỳ công việc nào vượt quá lịch trình của chúng mà chưa được thực hiện.

Tôi không có ý tưởng làm thế nào để làm điều này! Có cách nào để tôi có thể lên lịch cho việc này trong Ubuntu không? Tôi đã nghĩ đến việc thiết lập một DB bên ngoài và có một tập lệnh truy vấn nó để xem quy trình nào cần bắt đầu nhưng tôi cảm thấy nó quá mức cần thiết, tôi nghi ngờ đây có thể là một vấn đề phổ biến có giải pháp đơn giản hơn.

Làm ơn cho tôi biết!

user535733 avatar
lá cờ cn
Bạn có ý nghĩa gì khi "*khởi động máy chủ mỗi giờ*"? Là máy chủ này trên kim loại trần? Hay nó là một phiên bản đám mây? Hoặc container hoặc VM trên một số máy chủ?
Lostsoul avatar
lá cờ ph
@ user535733 Trên GCP, bạn có thể lên lịch khởi động máy chủ vào một thời điểm nhất định. Thông thường, tôi chỉ chạy tập lệnh khi khởi động nhưng sử dụng phương pháp đó, tôi phải có khoảng 40 máy chủ với các tập lệnh khởi động khác nhau.Tôi đang cố gắng để một máy chủ thực hiện những việc khác nhau dựa trên cửa sổ hàng đợi/thời gian.
pLumo avatar
lá cờ in
Bạn có thể sử dụng `@reboot` làm khoảng thời gian cron. Sau đó kiểm tra trong một kịch bản những gì cần phải được thực hiện
Lostsoul avatar
lá cờ ph
@pLumo Tôi xin lỗi tôi không quen với lệnh đó. Tôi đã tìm kiếm nó nhưng tôi thấy điểm chung là khởi động lại máy chủ của mình? Bạn có biết những gì tôi nên tìm kiếm?
user535733 avatar
lá cờ cn
Đối với những người không am hiểu về đám mây, GCP = Google Cloud. Điều này nghe giống như một nhiệm vụ bình thường đối với bộ định thời systemd hoặc anacron, không phải cron. Cả bộ hẹn giờ và anacron đều được thiết kế để chạy nếu hệ thống bỏ lỡ một công việc do không hoạt động. Bạn không cần phải khởi động máy mỗi giờ cho các công việc bị bỏ lỡ. Bạn có thể bắt đầu nó mỗi ngày một lần...hoặc mỗi tháng một lần. Bắt đầu nó khi bạn thực sự cần nó và để bộ hẹn giờ hoặc anacron xử lý logic tìm ra những gì đã bị bỏ lỡ và công việc nào sẽ chạy và theo thứ tự nào.
bac0n avatar
lá cờ cn
nghĩ rằng bạn đang tìm kiếm [OnUnitActiveSec=](https://unix.stackexchange.com/questions/235102/systemd-timer-onunitactivesec-vs-oncalendar-for-anacron-replacement/235303#235303)
bac0n avatar
lá cờ cn
Liên quan: [Sự cố hẹn giờ Unison và systemd](https://askubuntu.com/q/656075/986805)
Lostsoul avatar
lá cờ ph
Ồ cảm ơn bạn @ user535733 và mọi người vì sự giúp đỡ của bạn! Tôi đã tra cứu Anacron và nó giống như những gì tôi cần. Nếu bạn muốn đưa ra câu trả lời, tôi có thể ủng hộ/chấp nhận. Thật khó để tìm thông tin về vấn đề này khi tôi tìm kiếm, vì vậy, hy vọng nó sẽ giúp ích cho những người khác với thử thách tương tự này. Cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.