crontab icinde PATH set edip denermisiniz...PATH icine script icinde
kullandiginiz komutlarin yollarini eklemeyi unutmayin..

PATH=/sbin:/usr/sbin:/bin:/usr/bin
*/5 * * * * scrt mysql
*/5 * * * * scrt clamav-daemon
*/5 * * * * scrt apache2
*/5 * * * * scrt bind9
*/5 * * * * scrt ssh
*/5 * * * * scrt postfix
*/5 * * * * scrt fail2ban
*/5 * * * * scrt dovecot


2013/5/16 Özgür Kılıçaslan <[email protected]>

> 16 Mayıs 2013 15:00 tarihinde Cagri Emer <[email protected]> yazdı:
>
>
>> Bu yazdiginiz uc daemon da upstart tarafindan yonetiliyor. /etc/init/
>> altindan kontrol edebilirsiniz. postfix'in ise geleneksel init
>> tarafindan baslatildigina emin olmakla birlikte cron'unuzdaki geri kalan
>> sureclerin nasil kontrol edildigini bilmiyorum. Eger geri kalanlar
>> upstart tarafindan kontrol edilmiyorlarsa, log dosyasinda sadece upstart
>> tarafindan yonetilenleri gormek aslinda biraz supheli oluyor. Betikten
>> beklediginiz davranis bu mu bilemiyorum tabii.
>>
>
>
> Evet sadece bu üçü upstart tarafından yönetiliyor.
>
>
>> "service <daemon> status" komutunu upstart tarafindan yonetilen bir
>> surec icin calistirdiginizda aslinda "status <daemon>" calistirmis
>> oluyorsunuz. Eger betikten beklediginiz davranis bu ilettiginiz davranis
>> degilse "status <daemon>" bir nedenden oturu surekli 0'dan farkli bir
>> exit code donduruyor. Siz de bu yuzden her bes dakikada bir bu uc sureci
>> yeniden baslatiyorsunuz.
>>
>
>
> Elle yaptığım denemelerde exit code hep 0 dönüyor. cron içinden çalışınca
> 0'dan farklı değer dönüyor ve log atıyor.
>
>
>> Eger yapmak istediginiz bes dakikada bir kontrol yapip, calismayanlari
>> calistirmaksa pidof kullanabilirsiniz alternatif olarak. Onun da
>> sikintisi service ve pidof tarafindan farkli isimlendirmelerin
>> kullanilmasi olacaktir. Ornegin postfix icin pidof kullanacaksaniz
>> "pidof master" demeniz gerekiyor. Misal olmasi icin su kisa betigi
>> paylasayim. pidof -s tek bir PID dondurmesi icin, man sayfasindan
>> bakabilirsiniz zaten. Yeni bir ekleme yapacaginiz zaman services kismina
>> pidof tarafindan aranacak surec ismini, case altina ise service komutuna
>> verilecek ismi eklemeniz yeterli. Hem bu sekilde cron'unuzu ayni islerle
>> doldurmamis olursunuz.
>>
>> #!/bin/bash
>>
>> logFile=/var/log/scrt.log
>> services="mysqld apache2 dovecot master"
>>
>> startService() {
>> case $1 in
>> mysqld)
>>         service mysql start
>> ;;
>> apache2)
>>         service apache2 start
>> ;;
>> dovecot)
>>         service dovecot start
>> ;;
>> master)
>>         service postfix start
>> ;;
>> esac
>> }
>>
>> for serviceToBeChecked in $services; do
>>         if [ ! $(pidof -s $serviceToBeChecked) ]; then
>>         startService $serviceToBeChecked 1 > /dev/null
>>         echo $(date) [$serviceToBeChecked] >> logFile
>>         fi
>> done
>>
>
> Bu hali parametreleri scripte gömmek oluyor, tercih etmem doğrusu.
>
> --
> *Görünenler*, *gerçek olsaydı bilime* gerek kalmazdı.
>
> _______________________________________________
> Linux-sunucu E-Posta Listesi
> [email protected]
>
> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından
> okuyabilirsiniz;
>
> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
> dakika içinde üyeliğinizi sonlandırabilirsiniz.
> https://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>
>
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap