Come modificare un object di posta elettronica di Cronjob

Ho eseguito una mezza dozzina di posti di lavoro diversi dal mio hosting a Hostmonster.com. Quando un cronjob è stato eseguito ricevo un'email con l'output dello script.

L'email viene fornita in formato:

  Da: Cron Daemon
 Oggetto: Cron / ramdisk / bin / php5 -c /home5/username/scheduled/optimize_mysql.bash

Il problema con questo è che l'object della posta elettronica rende molto difficile leggere quale cronjob corrisponde all'email.

C'è un modo per modificare l'argomento di una e-mail di cronjob in modo che sia più facile da leggere?

Per esempio:

 Da: Cron Daemon
 Oggetto: Ottimizzare il database MySQL

  • È necessario aggiungere un command "Attendere" a uno script Powershell
  • Cosa sta succedendo con il mio server? Elevato carico, un sacco di tempo di CPU inattivo, utilizzo di bassi dischi
  • È necessario un record MX?
  • SPF record e-mail che appare come SOFTFAIL invece di FAIL?
  • Come scoprire quale programma sta inviando email
  • È STARTTLS sufficiente per HIPAA
  • Dovecot: nessun tentativo di authorization in 0 secs (protocollo IMAP)
  • Configurazione di Sendmail per Exchange Server
  • 6 Solutions collect form web for “Come modificare un object di posta elettronica di Cronjob”

    Nei miei sisthemes (la maggior parte di Debian) tutta l'output, da uno script / programma denominato crontab, viene inviato via email al account@localhost che ha avviato il cron. Queste email hanno un sobject come il tuo.

    Se vuoi ricevere un'e-mail, scrivi uno script che non ha alcuna output da solo. Ma invece metti tutto l'output in un file di text.

    E con

     mail -s 'your subject' adress@where < textfile 

    lo ricevi come vuoi.

    Oppure usare il command sh noop (:)

     0 9-17 * * 1-5 : Queue Summary; PATH=/usr/sbin qshape 

    Il sobject sembra ancora kludgey, ma alless è descrittivo e non richiede script estranei.

    Piegare l'output del lavoro cron direttamente alla posta e quindi riempire la row del sobject. la syntax 2>&1 invia un'output di errore che altrimenti scomparirebbe.

     mycmd 2>&1 | mail -s "mycmd output" myname 

    Prendi la responsabilità di crond per submit l'output del command (o no se non ce n'è) per piping output e stderr in 'mailx -E'. Per esempio:

     0 * * * * your-command 2>&1 | mailx -E -s "Descriptive Subject" $LOGNAME 

    L'opzione '-E' di Mailx è bello perché, proprio come la crond stessa, non invierà una mail se non c'è nessuna output da submit.

    Un'altra soluzione è quella di scrivere uno script di shell con la linea di sobject che si desidera che chiama il command giusto. Nel tuo esempio, questo sarebbe:

     #Optimize_MySQL_Database.sh /ramdisk/bin/php5 -c /home5/username/scheduled/optimize_mysql.bash 

    Puoi includere la directory bin nel path impostandola nel file crontab.

    PROVA QUESTO – Nella row di command implementa il seguente codice —

     /usr/local/bin/php -q /path /hostname/foldername/Page-You-want-to-execute \ | **mail -s "*SUBJECT*" YOUR@MAIL.COM.** 
    • Questo è solo un riferimento per guidarvi
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.