Evet bugun yine turk-php.com forumlarinda sorulan bir soruya cevap olarak hazirladigim bir bash scriptini ekliyorum.
Script radyolari kontrol edip bakiyor calisiyormu calismiyormu diye egerki calismiyorsa baslatiyor.
Gerek olanlar:
Radyolarin hepsi bir ana Klasör icinde bulunmali.
her radyo klasöru ve her radyo baska isimler altinda serverinizde bulunmali.
mesela
ana klasör
/srv/www/htdocs/web1/html/radyolar
radyolarimizin isimleri ve klasorleri radyox seklinde bulunuyor
/srv/www/htdocs/web1/html/radyolar/radyo1/radyo1
birinci radyo1 klasör adi ikinci ise radyoyu calistiran dosyanin adi normalde shoutcast da(sc_serv)
DOSYADA YAPILMASI GEREKENLER:
RADYOPATH = ana klasör u yaziyoruz
array icine ise radyolarin isimlerini
tabi sonra bunu bir cron a koyup kontrol ettirmemiz gerekiyor.
crona hakkinda bilgiyi bir önceki yazimda vermistim.
Kod
##################################
## Prog: daemon control v0.1
## author: kadir özdemir
## email: skorp ( at ) skorp.eu
##################################
#!/bin/bash
array=(“radyo1” “radyo2” “radyo3” “radyo4” “radyo5″);
RADYOPATH=”/srv/www/htdocs/web1/html/radyolar/”;
CONF=”sc_serv.conf”;
for ((i=0; i<${#array[*]}; i++)); do
control=`ps aux | grep ${array[i]}| awk {'print $11'} | uniq -f 1`;
if [ ${control} != ${array[i]} ]
then
${RADYOPATH}${array[i]}/${array[i]} ${RADYOPATH}${array[i]}/${CONF};
fi
done;
[/code]
conf dosyamiz calistirilan dosya ile ayni klasorde olmali Conf dosyamizin adi sc_serv.conf degil se CONF adi altina dogru ismini yaziniz.
tek sorun log dosyasi scriptin calistigi yerde olusuyor.