[linux / mail] hoe een mail sturen vanuit een script

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

  • js303
  • Registratie: April 2003
  • Laatst online: 25-01 14:14
ik heb een scriptje gemaakt dat vanuit cron elke ochtend om 6 uur wordt aangeroepen en een mysql-dump maakt en die zipt. wat ik nu probeer toe te voegen is een commando dat een mailtje stuurt naar de administrator (ikzelf) met daarin een melding dat de backup gemaakt is. ik ben een tamelijke linux noob en kom niet uit de documentatie over mail. ik heb nu dit:

mail -s "Dit is een test" "piet@domein.com"

probleem is dat het script vervolgens in de command-mode komt en er user-input gegeven moet worden. ik kan maar geen optie vinden om dit te over te slaan / uit te zetten en om automatisch een bodytekst mee te sturen.

  • js303
  • Registratie: April 2003
  • Laatst online: 25-01 14:14
nou na veel googlen toch iets gevonden:

mail -s "dit is een test" user@domain.com < file.txt

wat mij betreft mag deze topic weer gesloten worden.

[ Voor 29% gewijzigd door js303 op 17-03-2005 14:05 ]


  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

je kan dit ook doen met een variabele:
code:
1
2
3
BODY = "Backup gelukt"

echo ${BODY} | mail -s "Dit is een test" "piet@domein.com"

scheelt weer wat disk i/o en opruimwerk

Mistakes are proof that you are trying...


  • js303
  • Registratie: April 2003
  • Laatst online: 25-01 14:14
Seth4Chaos schreef op donderdag 17 maart 2005 @ 14:42:
je kan dit ook doen met een variabele:
code:
1
2
3
BODY = "Backup gelukt"

echo ${BODY} | mail -s "Dit is een test" "piet@domein.com"

scheelt weer wat disk i/o en opruimwerk
ok dat is wel handiger idd, want ik genereer nu een tmpfile voor de message. is het ook bijv. mogelijk om de output van een command in een var te stoppen? zo output ik nu de date output naar een file:

code:
1
date +"A MySQL dump of $dbname has been made at %T, %A %d %B %Y. %nFile has been saved to $destpath/$dbname.sql %n%n- End of message -" > mysqldump.msg

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Je kunt ook de output van een commando in een variabele stoppen met ``, maar kijk vooral eens in de manual of in een howto van je shell, want dit is basiskennis zo ongeveer :)

Dit topic is gesloten.