A cron.mounthly-ba tettem egy ilyen mini scriptet.
#!/bin/bash
echo "Olvasd le a villanyóra állást" | mail -s "Villanyóra" nextra
A levél meg is jön, de nem úgy a hogy vártam.
Jelenleg a szöveges üzenetet, mint csatolmányt küldi, a -s subject: villanyóra meg villany??ra-ként jelenik meg.
Most éppen átállítottam a sendmail.cf-ben a charset-et, de továbbgondolva a dolgot, itt ez irreleváns, mivel a mail parancs az amely dolgozik, tehát a mail-ban kéne megadnom a charset-et.
googlizás után a -S lenne a nyerő. De továbbra sem értem miért csatolmány a szöveges üzenet?
echo "Olvasd le a villanyóra állást" | mail -s "Villanyóra" -S sendcharsets=utf-8 nextra
S a végső kérdés. Hogyan működik a cron.monthly? Azt tudom hogy havonta egyszer fut le. De mikor? Melyik nap? Minden hónap elején, közepén?
Vagy ahhoz a naphoz méri magát amely napon manuálisan elindítom? Tehát ha elindítom 10.-én akkor minden hónap 10.-én fog lefutni?
- 4888 megtekintés
Hozzászólások
A cronos jobok nagyon primitív környezettel indulnak.
Tedd a szkripted elejére, hogy
export LANG=hu_HU.UTF-8
Ha neked fontos, hogy mikor fut le a jobod, akkor ne bízd a /etc/cron.{daily,weekly,monthly} fájlokra, hanem vedd a piciny fáradságot, és időzítsd saját felhasználói jogon a megfelelő időre.
- A hozzászóláshoz be kell jelentkezni
Természetesen a sima cront ismerem, de ezt direkte el akartam kerülni.
Az exportot ki fogom próbálni, de ez még nem valószínű hogy megoldja hogy ne csatolmányként kapjam az echo utáni szöveget.
- A hozzászóláshoz be kell jelentkezni
Nem állítom, csak sejtem, hogy a binárisnak vélt tartalom készteti a mailedet arra, hogy csatolásként küldje a szöveget, ami a helyes nyelvbeállítással megszűnik.
- A hozzászóláshoz be kell jelentkezni
cron.monthly ugy mukodik, ahogy be van allitva. Debianon alap /etc/crontab-ban ez szerepel:
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Eszerint minden ho elsejen 6:52-kor kezdi el futtatni.
--
|8]
- A hozzászóláshoz be kell jelentkezni
Na ez volt az a válasz, amiből meg is értettem. Köszi.
No de hogy ne csatolmány legyen a szöveg?
- A hozzászóláshoz be kell jelentkezni
Jelentem az export nélkül is jó lett.
echo "Olvasd le a villanyóra állást" | mail -s "Villanyóra" -S sendcharsets=utf-8 nextra
A -S hatására a charset jó lett, ráadásul a teljes nevem is kiírásra került az eddigi nicknév helyett, illetve az echo utáni szöveg sem csatolmányként jelent meg.
Remélem nem csak azért mert simán ráentereztem? De most kivárom az egy órát, mert jelenleg a cron.hourly-ban van tesztelés miatt.
- A hozzászóláshoz be kell jelentkezni
Csak elkiabáltam, mivel csak akkor volt helyes és jó minden, ha manuálisan indítottama parancsot. Ha a cron indította, akkor felléptek a már említett anomáliák.
Ezért dobtam mindent és átírtam erre:
#!/bin/bash
(
echo "To: nextra"
echo "Subject: Villanyóra"
echo "Content-Type: text/plain; charset=UTF-8"
echo
echo "Olvasd le a villanyóra állást!" ) | /usr/sbin/sendmail -t
Ez már az amit szerettem volna.
- A hozzászóláshoz be kell jelentkezni
Komolyan azt mondod, hogy ez így egyszerűbb volt, mint odabiggyeszteni a szkript elejére az export LANG-ot?
(Költői kérdés, hiszen bennem is van szakmai dac, a saját megoldás kivakarásának akarata. ;)
- A hozzászóláshoz be kell jelentkezni