Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Local mail skripta

[es] :: Skript jezici :: Local mail skripta

[ Pregleda: 3134 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

AelTHeGriN
Zagreb

Član broj: 7779
Poruke: 198
*.cmu.carnet.hr

ICQ: 176911387
Sajt: pyplayground.shyper.com


Profil

icon Local mail skripta31.08.2004. u 22:15 - pre 238 meseci
Pokusavam napraviti skriptu koju ce pokretati (ana)cron, a koja ce mailati output dvije komande: hddtemp (koja prikazuje temperaturu diskova. Zapravo i nije namijenjena da se na taj nacin koristi, vec kao daemon na koji se spaja telnetom, no taj me aspekt ne zanima, vec samo zelim doznati temperaturu) i smartctl (odnosno smartd daemona koji prikazuje S.M.A.R.T. informacije o disku).

No problem je sto skripta stane (odnosno mail program ceka da zavrsim sa tipkanjem poruke).

Skripta je slijedeca (sad sam stavio samo onu za hddtemp, za smartctl je gotovo identicna):

Code:

#!/bin/bash
 
MAILTO="${MAILTO:-root}"
FQDN=`hostname -f`
 
cat > /tmp/hddtmp
/usr/sbin/hddtemp /dev/hda >> /tmp/hddtmp; /usr/sbin/hddtemp /dev/hdb >> /tmp/hddtmp
/usr/bin/mail -s "Daily report for $FQDN" $MAILTO < /tmp/hddtmp
rm /tmp/hddtmp


Inace, ona linija koja pocinje sa cat, u jednoj mail skripti sam vidio da tako treba stvoriti fajl, makar mi bas nije jasno zasto, no probao sam i bez nje i uvijek ista stvar.

Probao sam i s dodavanjem tocke u praznom redu (ona je kao neki znak za slanje poruke, jel tako?), no ni to nije pomoglo.

Da li netko zna u cemu grijesim, ja stvarno ne znam...
Hvala puno.
Ja sam fabrička greška generacije...
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.sbb.co.yu



+257 Profil

icon Re: Local mail skripta01.09.2004. u 10:01 - pre 238 meseci
Citat:
AelTHeGriN:
/usr/bin/mail -s "Daily report for $FQDN" $MAILTO < /tmp/hddtmp
rm /tmp/hddtmp

Probaj....
Code:

/usr/bin/mail -s "Daily report for $FQDN" $MAILTO << EOF
`cat  /tmp/hddtmp`
EOF
rm /tmp/hddtmp


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

AelTHeGriN
Zagreb

Član broj: 7779
Poruke: 198
*.cmu.carnet.hr

ICQ: 176911387
Sajt: pyplayground.shyper.com


Profil

icon Re: Local mail skripta01.09.2004. u 17:56 - pre 238 meseci
Hvala ti puno, sada sve radi:)
Moze li mi netko objasniti u cemu sam grijesio, nikad ne znam s tim EOF signalima, to me uvijek muci:)
Ja sam fabrička greška generacije...
 
Odgovor na temu

Dr:Lun
Donald Secret

Član broj: 16367
Poruke: 81
*.vdial.verat.net

Sajt: www.slackware.co.yu


Profil

icon Re: Local mail skripta01.09.2004. u 18:15 - pre 238 meseci
Signal ne mora da bude izricito EOF. Procitaj dokumentaciju za odredjeni shell. Predlazem knjigu "Unix do kraja", SAMS.
Remember I will always love you,
As I claw your fucking throat away.
It will end no other way.
 
Odgovor na temu

AelTHeGriN
Zagreb

Član broj: 7779
Poruke: 198
*.cmu.carnet.hr

ICQ: 176911387
Sajt: pyplayground.shyper.com


Profil

icon Re: Local mail skripta01.09.2004. u 19:41 - pre 238 meseci
Eh, sada opet ne radi, a bilo je najnormalnije radilo. Nego, ima li nekakve veze s tim editor, ja koristim pico. Mislio sam da mozda ostavlja nekakva prazna mjesta, prazne redove, no pokusao sam poslije s geditom i ista je stvar, skripta se ne izvrsava, samo stoji.

Novi kod izgleda ovako:

Code:

#!/bin/bash

MAILTO="${MAILTO:-root}"
FQDN=`hostname -f`

/usr/sbin/hddtemp /dev/hda > /tmp/hddtmp; /usr/sbin/hddtemp /dev/hdb >> /tmp/hddtmp
/usr/bin/mail -s "HDD report for $FQDN" $MAILTO << EOF
`cat /tmp/hddtmp`
EOF
rm /tmp/hddtmp


EDIT: Evo upravo sam shvatio da se poruka normalno salje dok sam spojen na internet, a dok nisam, ne zeli ga poslati, znaci sve je u redu sa skriptom. No ne znam u cemu je problem, mozda u route-u?
Ne znam gotovo nista o sendmailu, eximu i mail aplikacijama, nikada se nisam bavio time i sve sto trebam je da mi se ovaj mejl salje u localu.
Ja sam fabrička greška generacije...
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.f.bg.ac.yu

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Local mail skripta01.09.2004. u 19:59 - pre 238 meseci
Bez mnogo komplikovanja, dovoljno bi trebalo da je ovo:

Code:

#!/bin/bash

MAILTO="${MAILTO:-root}"
FQDN=`hostname -f`

/usr/sbin/hddtemp /dev/hda > /tmp/hddtmp
/usr/sbin/hddtemp /dev/hdb >> /tmp/hddtmp
/usr/bin/mail -s "HDD report for $FQDN" $MAILTO < /tmp/hddtmp
rm /tmp/hddtmp


I ovo tvoje bi moralo da radi, mada je

Code:
/usr/bin/mail -s "HDD report for $FQDN" $MAILTO << EOF
`cat /tmp/hddtmp`
EOF


malo rogobatno, obzirom da je dovoljno

Code:
/usr/bin/mail -s "HDD report for $FQDN" $MAILTO < /tmp/hddtmp


Mada bih ja to uradio još jednostavnije, bez tmp fajla, jer zaista nema nikakve potrebe. bash takođe treba izbeći kad se možemo izvući sa standardnom Bourne sintaksom (/bin/sh).

Code:

#!/bin/sh
MAILTO="${MAILTO:-root}"
FQDN=`hostname -f`
(/usr/sbin/hddtemp /dev/hda; /usr/sbin/hddtemp /dev/hda) | /usr/bin/mail -s "HDD report for $FQDN" $MAILTO

int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.f.bg.ac.yu

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Local mail skripta01.09.2004. u 20:04 - pre 238 meseci
Sad baš htedoh da dodam da ti je problem najverovatnije u mail komandi, kad videh poslednji pasus. Verovatno je problem u konfiguraciji mail servera, ili u tome što nemaš svoju mašinu u /etc/hosts. U krajnjoj liniji prvo pogledaj log mail servera kad šalješ mail u lokalu a nisi na Internetu, pa ćeš videti u čemu je problem, i zašto poruka ne stiže.

P.S. Obzirom da ova poslednja varijanta skripta sadrži samo jedan red (pajp je tvoj prijatelj ;o)), zapravo ti i ne treba skript, samo stavi tu liniju u cron (ubaci samo MAILTO i FQDN vrednosti umesto promenljivih).
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

AelTHeGriN
Zagreb

Član broj: 7779
Poruke: 198
*.cmu.carnet.hr

ICQ: 176911387
Sajt: pyplayground.shyper.com


Profil

icon Re: Local mail skripta02.09.2004. u 00:07 - pre 238 meseci
@random

Hvala puno, budem probao pa javim rezultate...
Inace i mislio sam da odradim ovo bez fajla u /tmp-u, no ono je i tako bila "radna" verzija skripte koja je na tome ostala upravo zbog problema s mailerom:)
Ja sam fabrička greška generacije...
 
Odgovor na temu

AelTHeGriN
Zagreb

Član broj: 7779
Poruke: 198
*.cmu.carnet.hr

ICQ: 176911387
Sajt: pyplayground.shyper.com


Profil

icon Re: Local mail skripta02.09.2004. u 01:00 - pre 238 meseci
Malo sam cesljao logove (/var/log/exim4 >mainlog i rejectlog; ostali poput mail.info, mail.err u /var/log direktoriju imaju 0 bajtova) i bas i ne razumijem sto mi kazuju.
Kada je poruka uspjesno poslana pise ovo:

Code:
2004-09-02 01:53:45 1C2evB-0000Nf-8t <= [email protected] U=root P=local S=420
2004-09-02 01:53:45 1C2evB-0000Nf-8t => aelthegrin <[email protected]> R=local_user T=mail_spool
2004-09-02 01:53:45 1C2evB-0000Nf-8t Completed


A kad poruka nije ispravno poslana umjesto ovog S=420 pisu neki drugi (razliciti) brojevi.

No shvatio sam da je stvar mozda u iptables. Kada se spojim na internet imam (uz razlicita pravila naravno) i definirano INPUT i OUTPUT lanac DROP (FORWARD lanac ne koristim i on je ACCEPT).
Kad se skinem, brisu se pravila, no ostaje mi po defaultu INPUT i OUTPUT DROP. Kada promijenim na ACCEPT (OUTPUT prije svega), onda sve radi. Izgleda da je ovo vjerojatno bio problem...
Ja sam fabrička greška generacije...
 
Odgovor na temu

[es] :: Skript jezici :: Local mail skripta

[ Pregleda: 3134 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.