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
