Linux tại lệnh liên tục khởi động lại?


9

Các công việc được lên lịch với 'at' liên tục trên các lần khởi động lại? Ngoài ra, bất cứ ai biết một cách các công việc có thể được sao lưu mà không cần truy cập vào các thư mục spool có liên quan?

Tôi muốn gửi email theo các khoảng thời gian cụ thể từ nay đến một năm (tức là 1 tuần, 1 tháng, 6 tháng) vì vậy đây có vẻ là một công cụ tốt, có thể có một công cụ tốt hơn?

Câu trả lời:


9

Vâng, chúng là liên tục trên các lần khởi động lại (chúng chỉ là các tệp trong một ống chỉ).

Về việc có quyền truy cập vào chúng, với tư cách là người dùng thông thường, bạn sẽ không có quyền truy cập vào các tệp, nhưng bạn có thể xây dựng một hệ thống để sao lưu chúng. Có lẽ một cái gì đó như thế này:

MYAT=~/atjobs

/bin/rm -rf $MYAT/*

at -l >$MYAT/JOBS
for j in `cat $MYAT/JOBS | cut -f1`
do
  at -c $j >$MYAT/$i
done

Nếu bạn cần tải lại công việc sau:

for j in `cat $MYAT/JOBS | cut -f1`
do
  # make sure the job isn't defined
  atrm $j
  # reload it from the file
  at -f $MYAT/$j `grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }'`
done

(điều này hầu hết chưa được kiểm tra. Lệnh cơ bản là đúng nhưng chắc chắn sẽ có lỗi trong logic ở đâu đó)

Dù đã nói tất cả, tôi không chắc mình sẽ sử dụng cho nhiệm vụ mà bạn mô tả. Tôi có thể sử dụng một hệ thống lịch có từ trước. Mặc dù vậy, tôi sẽ sử dụng một công việc định kỳ chạy hàng ngày để kiểm tra một tệp để xem có tin nhắn nào để gửi không. Dễ di chuyển hơn nhiều so với tại nơi làm việc và nhiều khả năng sẽ được ghi nhớ nếu bạn chuyển đổi máy móc ...


Tôi thấy cách đó sao lưu các công việc, nhưng làm thế nào tôi có thể tải lại tất cả các công việc đó nếu cần?
Kyle Brandt

3

Khi bạn lên lịch cho một công việc tại, ngay cả khi khởi động lại được thực hiện (chúng được lưu trữ trong / var / spool / cron / atjobs), công việc vẫn được lên kế hoạch.

Thân ái,


0

Tôi đã không sử dụng lệnh nhiều, nhưng tôi đã sử dụng cron để lên lịch các tác vụ được thực thi và nó vẫn tồn tại trong suốt quá trình khởi động lại. Cron đã làm việc cho tôi trong mười lăm năm qua hoặc lâu hơn.

Nếu cần một lệnh được thực thi một lần mỗi ngày, và sau đó được thực thi một lần ngay cả khi hệ thống ngừng hoạt động, bạn có thể sử dụng anacron .


Tôi không nghĩ rằng cron thực sự tốt cho việc này trừ khi tôi sử dụng nó như jj33 đã nêu vì tôi không muốn chạy một cái gì đó đều đặn. Ví dụ, khi tôi lên lịch, thậm chí AI sẽ muốn sự kiện A diễn ra một tháng kể từ bây giờ, nhưng không phải mỗi tháng.
Kyle Brandt
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.