Vraag Hoe stuur ik de uitvoer van een cronjob naar meerdere e-mailadressen?


In het begin van een crontab-bestand kunt u de MAILTO instructie om aan te geven dat u wilt dat de uitvoer als een e-mail naar een e-mailadres wordt verzonden. Ik wil de uitvoer naar meerdere adressen sturen. Is het mogelijk (en hoe) om meerdere adressen op te geven?


51
2018-04-16 11:11


oorsprong




antwoorden:


Het kan verschillen, afhankelijk van welk cron-daemon-pakket je precies gebruikt, maar dit komt van de manpage van Vixie Cron op Ubuntu Hardy:

Als MAILTO is gedefinieerd (en niet-leeg),   mail wordt verzonden naar de zo genoemde gebruiker.   MAILTO kan ook worden gebruikt om e-mail te sturen   naar meerdere ontvangers door te scheiden   ontvangende gebruikers met een komma. Als   MAILTO is gedefinieerd maar leeg   (MAILTO = ""), er zal geen e-mail worden verzonden.   Anders wordt e-mail verzonden naar de eigenaar van   de crontab.

Als u Vixie Cron niet gebruikt, of als u het niet zeker weet, probeer dan de handleiding voor het crontab-bestand: man 5 crontab

Voorbeeld

MAILTO="user.one@domain.one,user.two@domain.two"

68
2018-04-16 11:18



Een ding om op te merken - gebruik net een komma tussen adressen. Gebruik ook geen spatie, anders zal cron het adres (waarschijnlijk in / var / log / cron of / var / log / daemon) als "UNSAFE" loggen en weigeren om naar die lijst met adressen te sturen. - David Gardner
Bij het scheiden van adressen met spaties in plaats daarvan van komma's, dat is mij toevallig overkomen cron verzonden e-mails naar het eerste adres enkel en alleen (en crontab had niet geklaagd bij het opslaan van wijzigingen, dat is a schaamte). Er zijn fouten in de syslog ((CRON) error (bad mailto)), maar niemand merkte op ... - Tobias


Als alternatief voor bovenstaande antwoorden kunt u deze naar een enkel adres verzenden dat een e-mailgroep is. Dit werkt vooral goed als u meerdere servers beheert, omdat het gemakkelijker is om adressen in de groep op een e-mailserver dan in crontab van elke afzonderlijke server te beheren.


8
2018-03-24 05:41



IMHO dit is het juiste antwoord. Wie wil individuele lijsten met e-mailadressen onderhouden in verschillende crontabs? - Satanicpuppy
Ik heb een eenvoudige lijst gemaakt: 1. Voeg als root een "virtuele ontvanger" toe aan /etc/aliases door een regel als deze toe te voegen: cron-listeners: fred@example.com, george@example.com 2. Stel in de crontab in MAILTO=cron-listeners Als u geen toegang tot de hoofdmap hebt, kunt u de .forward methode in plaats daarvan. - joeytwiddle


Een oplossing kan een zijn .forward bestand op die gebruikersaccount die e-mail naar de juiste adressen stuurt.


3
2018-04-16 11:15



+1. Voorwaarts bestand is de juiste keuze. - sleske


Het beste antwoord is waarschijnlijk om ofwel de man-pagina's te controleren op de huidige versie van cron / crontab van je distro om te zien of er iets is dat kan worden gedaan met de MAILTO-parameter of om een ​​e-mailadres op te geven dat op zijn beurt e-mails doorstuurt naar meerdere adressen voor jou.


0
2018-04-16 11:55





Toevoegen , na elke e-mail, bijvoorbeeld: MAILTO="some.user1@example.com,some.user2@example.com"


0
2018-02-03 16:36



In de documentatie worden de e-mails gescheiden door een komma, u gebruikt hier een puntkomma. Weet je zeker dat deze syntaxis werkt? - physicalattraction
@MichaelHampton de ; werkt niet - 030
@Alfred Dat weet ik heel goed. Zo is de andere persoon die heeft gereageerd! - Michael Hampton♦
@kasperd Omdat het niet gepast is om de betekenis van posts van anderen te veranderen. Dat is alleen voor de poster, en tot nu toe heeft hij ervoor gekozen om het niet te corrigeren. Verkeerde antwoorden moeten worden onderdrukt en in plaats daarvan worden becommentarieerd. - Michael Hampton♦
Mijn bericht gecorrigeerd Ik weet niet hoe het in 2010 werkte. Als @ThatGraemeGuy in een bovenstaande post. Kan afhankelijk zijn van het Cron-pakket. - dannyb2100