Wie starte ich automatisch zu einer bestimmten Stunde neu und schreibe, dass es passiert ist? (Zeitzonenproblem)

344
Sasha Grievus

Googled, versuchte und versuchte einige Versuche, es auf Ubuntu 12.04 zu tun, aber es funktioniert auf seltsame Weise ... Dies sind meine Crontab-Einträge

  1. Starten Sie alle 4 Minuten ein bestimmtes Skript, das etwas (nicht relevant) steuert
  2. Um 3 Uhr morgens das System neu starten
  3. um 3 Uhr morgens eine Mail mit dem Thema "System neu starten" senden

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

    0 3 * * * Neustart

    0 3 * * * echo "System wurde neu gestartet!" | mail -s "System wurde neu gestartet" email@gmal.com

Nun ist es sicherlich ein Fehler, die Aktion "Mail senden" nach der Neustartaktion gleichzeitig zu setzen (es ist schwierig, beim Neustart etwas zu tun), und ich plane, sie auf "10 3" zu verschieben, nur um sicher zu gehen.

Ich habe dies ignoriert, gestern habe ich die Crontab-Aktionen installiert und heute kam die E-Mail mit der Ankunftszeit um 9 Uhr an . Ich bin ein bisschen verwirrt. Die Syntax scheint richtig zu sein ... Ich würde es verstehen, wenn die Mail überhaupt nicht ankommt, aber warum um 9 Uhr morgens statt um 3 Uhr morgens?

(Ich kann nicht wirklich viele Tests durchführen, da die Maschine eine Produktion ist)

BEARBEITEN: E-Mail Originaldaten

 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** 

Bei der Überprüfung der E-Mail werden zwei verschiedene Daten angezeigt ...

0
Haben Sie die Kopfzeile der E-Mail-Nachricht "Received:" überprüft? Könntest du sie veröffentlichen? AnFi vor 7 Jahren 1
mysite.it für meine Website und myemail@gmal.com für meine E-Mail erstellt Sasha Grievus vor 7 Jahren 0
Sie sollten sich den Spitznamen `@ reboot` von` cron` anschauen, der nach einem Neustart einen Job startet. charlesbridge vor 7 Jahren 1
Ich denke, die Zeitabweichung ist darauf zurückzuführen, dass Ihre Zeitzone nicht richtig eingestellt ist. In welcher Zeitzone befinden Sie sich, was sagt die Ortszeit und wie werden 'Datum' und 'Datum -u' ausgegeben? Darren vor 7 Jahren 1
guter Punkt! Eigentlich hat 'Datum' um 15:20 Uhr in meiner Ortszeit "Do 23.02 09:20:58 EST 2017" zurückgegeben! Ich werde es ändern. Jemand möchte eine richtige Antwort zusammenstellen (es wäre großartig, wenn die Methode zum Ausrichten der Zeitzone und auch das @ Reboot-Ding) nur für vorbeigehende Personen geeignet ist Sasha Grievus vor 7 Jahren 0

1 Antwort auf die Frage

1
Darren

Hier geht:

Ihre Zeitzone und / oder Ortszeit ist falsch, weshalb Jobs nicht wie erwartet ausgeführt werden.

Um Zeit und Zeitzone einzustellen, verwenden Sie das Applet "Zeit- und Datumseinstellungen" in den Ubuntu-Einstellungen oder in einem Terminallauf:

sudo timedatectl set-timezone <timezone> 

oder

sudo dpkg-reconfigure tzdata 

So stellen Sie die Uhrzeit in einem Terminal ein:

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

Ich würde jedoch dringend empfehlen, ntp einzurichten, um Ihre Uhrzeit automatisch auf dem neuesten Stand zu halten.

Um den anderen Teil Ihrer Frage anzusprechen, können Sie eine Aufgabe in eine Crontab-Datei einfügen und die Zeit durch ersetzen @reboot. Dadurch wird die Task beim Systemstart ausgeführt, sodass Sie Ihr E-Mail-Skript auf diese Weise ausführen können.