¿Cómo reiniciar automáticamente a una determinada hora y enviarlo por correo? (problema de zona horaria)

0

Busqué en Google, probé e intenté hacerlo en Ubuntu 12.04, pero está funcionando de una manera extraña ... Estas son mis entradas de crontab,

  1. lanzar un script determinado controlando algo (no relevante) cada 4 minutos
  2. a las 3 am reinicie el sistema
  3. a las 3 am enviar un correo electrónico con el tema Sistema reiniciado '

    * / 4 * * * * /root/script.sh & gt; & gt; /root/script.log

    0 3 * * * reiniciar

    0 3 * * * echo "¡Sistema reiniciado!" | mail -s "El sistema fue reiniciado" [email protected]

Ahora, seguramente es un error poner la acción enviar correo. después la acción de reinicio al mismo tiempo (es difícil hacer algo al reiniciar) y estoy planeando moverlo a '10 3 'solo para estar seguro

Ignorando esto, ayer instalé las acciones de crontab y hoy llegó el correo electrónico con la hora de llegada. 9 am . Estoy un poco desconcertado. La sintaxis parece correcta ... Comprendería si el correo no llegara, pero ¿por qué a las 9 am en lugar de las 3 am?

(Realmente no puedo hacer muchas pruebas para que la máquina sea de producción)

EDITAR: Correo electrónico datos originales

   Delivered-To: [email protected] 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: <[email protected]> Received: from mysite.it ([188.226.132.38])
   by mx.google.com with ESMTP id q19si3557509wra.220.2017.02.23.00.00.05
   for <[email protected]>;
   Thu, 23 Feb 2017 00:00:05 -0800 (PST) Received-SPF: temperror (google.com: error in processing during lookup of [email protected]: DNS error) client-ip=188.226.132.38; Authentication-Results: mx.google.com;
   spf=temperror (google.com: error in processing during lookup of [email protected]: DNS error) [email protected] 
   Received: by mysite.it (Postfix, from userid 0) id 3968F4071F; Thu, 23 Feb 2017 03:00:02 -0500 (EST) 
   Subject: System was rebooted To: <[email protected]> 
   X-Mailer: mail (GNU Mailutils 2.99.98) 
   Message-Id: <[email protected]> 
   Date: Thu, 23 Feb 2017 03:00:02
-0500 (EST) From: root <[email protected]>

   **Originale Message

   ID message   <[email protected]>
   Created: 23 feb 2017 09:00 (recapitato dopo 6 secondi)
   From:    root <[email protected]>Tramite mail (GNU Mailutils 2.99.98)
   To:  [email protected]
   Oggetto: System was rebooted**

Al inspeccionar el correo electrónico se muestran dos fechas diferentes ...

Sasha Grievus
fuente
1
Has inspeccionado Received: encabezados del mensaje de correo electrónico? ¿Podrías publicarlas?
AnFi
hecho mysite.it para mi sitio y [email protected] para mi correo electrónico
Sasha Grievus
1
Deberías mirar el cron apodo @reboot, que iniciará un trabajo después de que ocurra un reinicio.
charlesbridge
1
Supongo que la discrepancia de tiempo se debe a que su zona horaria no se ha configurado correctamente. ¿En qué zona horaria está, qué dice la hora local y cuál es la salida de 'fecha' y 'fecha -u'?
Darren
¡buen punto! En realidad, la fecha se devolvió "Jue 23 de febrero 09:20:58 EST 2017" a las 15:20 p.m. en mi hora local! Yo lo cambio Alguien quiere compilar una respuesta adecuada (sería genial si el método para alinear la zona horaria está en el @reboot, también) solo para las personas que pasan
Sasha Grievus

Respuestas:

1

Aquí va:

La zona horaria y / o la hora local son incorrectas, por lo que los trabajos no se ejecutan como se esperaba.

Para configurar la hora y la zona horaria, use el applet "configuración de fecha y hora" en la configuración de Ubuntu, o en una ejecución de terminal:

sudo timedatectl set-timezone <timezone>

o

sudo dpkg-reconfigure tzdata

Para configurar el tiempo en un terminal use:

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

Aunque sugeriría encarecidamente configurar ntp para mantener su tiempo actualizado automáticamente.

Para abordar la otra parte de su pregunta, puede poner una tarea en un archivo crontab y sustituir el tiempo con @reboot. Esto ejecutará la tarea en el inicio del sistema para que pueda ejecutar su script de correo electrónico de esa manera.

Darren
fuente