Ronny Haryanto wrote:
On 03/12/2007, - Cygnus - <[EMAIL PROTECTED]> wrote:
Hasil seharusnya adalah merelease satu persatu email dari queue hold nya
postfix kemudian diflush per queue id setiap 5 detik. Saya sudah
masukkan home sesuai user (/root), tetapi tetap saja tidak jalan.
Service crond nya juga sudah jalan, dan output ke console hanya text
hasil perintah postsuper dan saya buang ke /dev/null. Saya sudah ganti
scriptnya menjadi seperti ini
#!/bin/bash
for i in `mailq|egrep '{[0-9]|!}'|awk '{print $1}'|sed -e 's/!//g' -e
'/-/d' -e '/@/d'`; do
postsuper -H $i > /dev/null 2>&1
postqueue -i $i
sleep 5
done
dan saya masukkan ke crontab user root
PATH=/usr/bin:/usr/sbin:/bin:/sbin
SHELL=/bin/bash
HOME=/root
15 9,12,15,18 * * * /etc/release-digest.sh
Hasilnya sama, perintah dipanggil oleh cron, tetapi kalau di ps ax
scriptnya tidak jalan.
Kayaknya masih terlalu ribet. Coba isolate the problem. Persempit
ruang pencarian kita.
Siapa yg salah? cron? email? scriptnya? Mana yg paling masuk akal
untuk dicurigai? Mulai tes teori kita dengan eliminasi (misalnya).
Contoh, kalo misalnya saya curiga cron biang keroknya, maka saya tes
cronnya dulu. Bikin entry yg pasti jalan dulu:
MAILTO=saya
15 15 * * * echo "ngetes jam 3:15"
Dapet gak emailnya? Kalo dapet berarti cronnya jalan dan emailnya
jalan, kemungkinan scriptnya yg perlu dicurigai. Kalo gak dapet ya
either cronnya gak jalan atau emailnya gak nyampe ke saya, kemungkinan
scriptnya gak salah. Begitu seterusnya, sampe semua kemungkinan udah
dieliminasi, jadi makin lama makin sempit ruang carinya.
Anda sudah mencoba menjalankan scriptnya di luar cron, itu bagus. Cuma
saya gak yakin itu environmentnya sama atau nggak seperti pas
dijalankan lewat cron. Biasanya sering kelupaan soal path. Makanya
saya tanya soal PATH dan HOME tadi itu. Skrg gini aja, coba lagi
diganti scriptnya untuk menggunakan full paths utk program2nya,
misalnya:
SBIN="/usr/sbin"
POSTSUPER="${SBIN}/postsuper"
POSTQUEUE="${SBIN}/postqueue"
...
${POSTSUPER} -H $i
${POSTQUEUE} -i
....
Saran saya lagi, kalo belum jalan 100% benar, JANGAN pernah sekali2
pake ">/dev/null 2>&1", ini malah mempersulit debugging. Output itu
ada untuk membantu kita menyelidiki kalo ada masalah, jangan malah
diabaikan.
Ronny
Coba tambahkan path pada script nya, bukan pada cronnya.
Karena ketika diubuntu kejadiannya sama kaya gituh, lalu tinggal
tambahkan path discriptnya.. ehh .. malah jalan scriptnya.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis