[RISOLTO] Problemi con Cron

Aiuti sui server Linux
Rispondi
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

[RISOLTO] Problemi con Cron

Messaggio da Bomberman »

Salve a tutti,
arrivo subito alla questione.
Ho inserito un comando Crontab in questo modo:

Codice: Seleziona tutto

20 1 * * * date +%F%t%X >> /root/update.log
ma quando Cron lo esegue mi invia una mail così:

Codice: Seleziona tutto

Message  1:
From root@XXXXXX.it  Thu Nov 19 01:20:01 2013
Return-Path: <root@XXXXXX.it>
X-Original-To: root
Delivered-To: root@XXXXXX.it
From: root@XXXXXX.it (Cron Daemon)
To: root@XXXXXX.it
Subject: Cron <root@XXXXXX> date +
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Date: Thu, 19 Nov 2013 01:20:01 +0100 (CET)
Status: RO



? 
Ma non capisco quale sia il problema, qualcuno mi sa aiutare?
Ultima modifica di Martyn il 02/03/2014, 17:46, modificato 1 volta in totale.
Bomberman
Avatar utente
Martyn
Amministratore
Messaggi: 161
Iscritto il: 20/11/2013, 4:40
Contatta:

Re: Problemi con Cron

Messaggio da Martyn »

Uhmmmmmmm, non so proprio come risolvere il problema, hai provato a vedere cosa restituisce il comando quando lo scrivi nel terminale? Magari è un problema di sintassi...
midimarcus
Newbie
Messaggi: 3
Iscritto il: 20/11/2013, 9:29

Re: Problemi con Cron

Messaggio da midimarcus »

A naso parrebbe che la mail inviata da cron sia vuota.
il file /root/update.log lo scrive correttamente? (tanto per essere sicuri che esegua il comando)
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

Re: Problemi con Cron

Messaggio da Bomberman »

Allora...
Martyn: Ho provato come hai detto tu, se do il comando

Codice: Seleziona tutto

date +%F%t%X
sulla shell, mi ritorna come risposta la data e l'ora del momento (quello che deve fare il comando). Allora ho provato a fare quello che ha detto midimarcus, ovvero leggere il file "/root/update.log", e (sorpresa) il file non contiene l'output del comando. Non capisco... :roll: :roll: :roll:
Bomberman
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

Re: Problemi con Cron

Messaggio da Bomberman »

Ho provato a inserire le opzioni di comando tra gli apici ', ma ho ricevuto come risposta questa mail:

Codice: Seleziona tutto

From root@XXXXXX  Sun Nov 24 01:20:02 2013
Return-Path: <root@XXXXXX>
X-Original-To: root
Delivered-To: root@XXXXXX
From: root@XXXXXX (Cron Daemon)
To: root@XXXXXX
Subject: Cron <root@XXXXXX> date '+
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Date: Sun, 24 Nov 2013 01:20:01 +0100 (CET)
Status: RO

/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file

eppure sulla riga di comando mi funziona anche con gli apici :? Non ci sto a capì nulla :D
Bomberman
Avatar utente
Martyn
Amministratore
Messaggi: 161
Iscritto il: 20/11/2013, 4:40
Contatta:

Re: Problemi con Cron

Messaggio da Martyn »

Parlando e discutendo con un amico, l'unica soluzione che ne e venuta fuori e che dovresti inserire tutto in uno script, credo che sia un dei limiti di cron, mi documenterò meglio.
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

Re: Problemi con Cron

Messaggio da Bomberman »

Ok, grazie, ci proverò... il problema è che ancora non so fare uno script :roll: vedrò di trovare qualche risorsa da leggere.
Bomberman
midimarcus
Newbie
Messaggi: 3
Iscritto il: 20/11/2013, 9:29

Re: Problemi con Cron

Messaggio da midimarcus »

Per fare uno script con il comando che hai indicato basta aprire un editor di testo e scrivere:

Codice: Seleziona tutto

#!/bin/bash

date +%F%t%X >> /root/update.log
Salvare il file chiamandolo ad esempio date.sh all'interno della cartella /root/ e poi renderlo eseguibile con il comando seguente:

Codice: Seleziona tutto

chmod +x /root/date.sh
A questo punto nel crontab inserire la riga seguente:

Codice: Seleziona tutto

20 1   * * *   root    /bin/bash /root/date.sh
NOTA: Nella riga del crontab che hai inserito hai omesso due cose:
  • L'utente con il quale eseguire il comando (nel mio esempio ho usato root)
  • Il percorso completo del comando da usare: nel mio caso ho usato bash per eseguire uno script quindi ho messo /bin/bash e poi passato il percorso dello script. Nel tuo caso dovresti provare a mettere tutto il percorso completo del comando date che è /bin/date
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

Re: Problemi con Cron

Messaggio da Bomberman »

Ok, grazie. proverò la soluzione che mi hai proposto, Midimarcus, e vedo se risolvo :)
Vi farò sapere presto :D

Buone Feste (sono mancato per un po')
Bomberman
Avatar utente
Bomberman
Utente Base
Messaggi: 46
Iscritto il: 20/11/2013, 5:38
Località: Saturno, Sistema Solare, Via Lattea

Re: Problemi con Cron

Messaggio da Bomberman »

Ho risolto!

Grazie ragazzi, ho seguito la guida di Midimarcus e funziona. Ho solamente aggiunto allo script (dopo la, penso si chiami, dichiarazione if) il comando

Codice: Seleziona tutto

exit 0
mi pare di capire che se va qualcosa storto mi viene comunque notificato :)
Grazie ancora
Bomberman
Rispondi