Làm thế nào để khởi động lại tự động vào một giờ nhất định và gửi thư? (vấn đề múi giờ)


0

Googled nó, đã thử và thực hiện một số nỗ lực để làm điều đó trên Ubuntu 12.04, nhưng nó hoạt động theo một cách kỳ lạ ... Đây là những mục crontab của tôi, đó là

  1. khởi chạy một tập lệnh nhất định kiểm soát một cái gì đó (không liên quan) cứ sau 4 phút
  2. lúc 3 giờ sáng khởi động lại hệ thống
  3. lúc 3 giờ sáng gửi thư với chủ đề 'Hệ thống được khởi động lại'

    * / 4 * * * * /root/script.sh >> /root/script.log

    0 3 * * * khởi động lại

    0 3 * * * echo "Hệ thống được khởi động lại!" | mail -s "Hệ thống đã được khởi động lại" email@gmal.com

Bây giờ, chắc chắn là một lỗi để đặt hành động gửi thư sau hành động khởi động lại cùng một lúc (rất khó để làm gì đó trong khi khởi động lại) và tôi dự định chuyển nó thành '10 3 'chỉ để đảm bảo.

Bỏ qua điều này, hôm qua tôi đã cài đặt các hành động crontab và hôm nay email đến với thời gian đến 9 giờ sáng . Tôi hơi bối rối. Cú pháp có vẻ đúng ... Tôi sẽ hiểu nếu thư không đến, nhưng tại sao lúc 9 giờ thay vì 3 giờ sáng?

(Tôi thực sự không thể thực hiện nhiều thử nghiệm cho máy là sản xuất)

EDIT: Email dữ liệu gốc

   Delivered-To: myemail@gmal.com Received: by 10.12.169.80 with SMTP id z16csp372030qva;
   Thu, 23 Feb 2017 00:00:11 -0800 (PST) X-Received: by 10.223.148.230 with SMTP id 93mr27510733wrr.13.1487836811929;
   Thu, 23 Feb 2017 00:00:11 -0800 (PST) Return-Path: <root@mysite.it> Received: from mysite.it ([188.226.132.38])
   by mx.google.com with ESMTP id q19si3557509wra.220.2017.02.23.00.00.05
   for <myemail@gmal.com>;
   Thu, 23 Feb 2017 00:00:05 -0800 (PST) Received-SPF: temperror (google.com: error in processing during lookup of root@mysite.it: DNS error) client-ip=188.226.132.38; Authentication-Results: mx.google.com;
   spf=temperror (google.com: error in processing during lookup of root@mysite.it: DNS error) smtp.mailfrom=root@mysite.it 
   Received: by mysite.it (Postfix, from userid 0) id 3968F4071F; Thu, 23 Feb 2017 03:00:02 -0500 (EST) 
   Subject: System was rebooted To: <myemail@gmal.com> 
   X-Mailer: mail (GNU Mailutils 2.99.98) 
   Message-Id: <20170223080002.3968F4071F@mysite.it> 
   Date: Thu, 23 Feb 2017 03:00:02
-0500 (EST) From: root <root@mysite.it>

   **Originale Message

   ID message   <20170223080002.3968F4071F@mysite.it>
   Created: 23 feb 2017 09:00 (recapitato dopo 6 secondi)
   From:    root <root@mysite.it>Tramite mail (GNU Mailutils 2.99.98)
   To:  myemail@gmal.com
   Oggetto: System was rebooted**

Kiểm tra email hai ngày khác nhau đang hiển thị ...


1
Bạn đã kiểm tra Received:các tiêu đề của email? Bạn có thể xuất bản chúng?
AnFi

thực hiện mysite.it cho trang web của tôi và myemail@gmal.com cho email của tôi
Sasha Grievus

1
Bạn nên nhìn vào cronbiệt danh @reboot, nó sẽ khởi động một công việc sau khi khởi động lại xảy ra.
charlesbridge

1
Tôi đoán sự khác biệt về thời gian là do múi giờ của bạn không được đặt đúng. Bạn đang ở múi giờ nào, giờ địa phương nói gì và đầu ra của 'ngày' và 'ngày -u' là gì?
Darren

điểm tốt! Trên thực tế, "ngày" đã trở lại "Thu ngày 23 tháng 2 09:20:58 EST 2017" lúc 15:20 chiều theo giờ địa phương của tôi! Tôi sẽ thay đổi nó. Ai đó muốn biên soạn một câu trả lời thích hợp (sẽ rất tuyệt nếu phương pháp căn chỉnh múi giờ và điều @reboot cũng vậy) chỉ dành cho những người đi ngang qua
Sasha Grievus

Câu trả lời:


1

Đây là:

Múi giờ và / hoặc giờ địa phương của bạn là sai, đó là lý do tại sao bất kỳ công việc nào không chạy như mong đợi.

Để đặt thời gian và múi giờ, hãy sử dụng tiểu dụng "cài đặt thời gian và ngày" trong cài đặt Ubuntu hoặc trong thiết bị đầu cuối:

sudo timedatectl set-timezone <timezone>

hoặc là

sudo dpkg-reconfigure tzdata

Để đặt thời gian trong một thiết bị đầu cuối sử dụng:

sudo date -s "yyyy-mm-dd hh:mm:ss"

Mặc dù tôi thực sự khuyên bạn nên thiết lập ntp để giữ cho thời gian của bạn hiện tại tự động.

Để giải quyết phần khác của câu hỏi của bạn, bạn có thể đặt một tác vụ vào tệp crontab và thay thế thời gian bằng @reboot. Điều này sẽ chạy tác vụ khi khởi động hệ thống để bạn có thể chạy tập lệnh email của mình theo cách đó.

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.