Форум сетевых администраторов
Показаны 2 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Linux (http://netadmin.ws/forum/forumdisplay.php?forumid=13)
-- скрипты init.d (http://netadmin.ws/forum/showthread.php?threadid=3091)


Помещено Alex_Kursant 13-09-2002 в 13:17:

скрипты init.d

Не подскажете гдеб почитать как эти самые скрипты самому ручками делать? Может книжка какая есть или сайт толковый но чтоб разжовано было для самых тупых

__________________
Глаза не видят, а руки делают


Помещено devels 17-09-2002 в 16:00:

Ð_азберем по порядку

#!/bin/sh
# Выбираем шелл для исполнения
#
# description: Starts and stops the Samba smbd and nmbd daemons \
# used to provide SMB network services.
#
# pidfile: /var/cache/samba/smbd.pid
# Здесь будет пид запушенного процесса самбы
# pidfile: /var/cache/samba/nmbd.pid
# Здесь будет пид запущенного процесса обозревателя сети
# config: /etc/samba/smb.conf
# Здесь находится конфиг самбы


# Source function library.
# Вызывается функция преконфига -- типа локаль
# и все такое прочее
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi

# Avoid using root's TMPDIR
# Убивается переменная темпа
unset TMPDIR

# Source networking configuration.
# Беруться настройки и переменные сети
. /etc/sysconfig/network

# Дополнительные опции запуска (сделаны для программы сисконфига) типа чтобы конфигурить удобнее было
if [ -f /etc/sysconfig/samba ]; then
. /etc/sysconfig/samba
fi

# Check that networking is up.
# Проверяем, есть ли сеть вообще
[ ${NETWORKING} = "no" ] && exit 0

# Check that smb.conf exists.
# Проверяем, есть ли файл конфига
[ -f /etc/samba/smb.conf ] || exit 0

RETVAL=0

# При запуске требуется ввести параметр типа start, stop, restart --
# вот и надо прописать эти функции.
# Не буду детально разбирать каждую строчку ибо и дабы
# у каждого демона свои приколы при старте, стопе, перезагрузке ...
start() {
# Типа старт демона
KIND="SMB"
echo -n $"Starting $KIND services: "
daemon smbd $SMBDOPTIONS
RETVAL=$?
echo
KIND="NMB"
echo -n $"Starting $KIND services: "
daemon nmbd $NMBDOPTIONS
RETVAL2=$?
echo
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \
RETVAL=1
return $RETVAL
}

stop() {
# Ð_то стоп демона
KIND="SMB"
echo -n $"Shutting down $KIND services: "
killproc smbd
RETVAL=$?
echo
KIND="NMB"
echo -n $"Shutting down $KIND services: "
killproc nmbd
RETVAL2=$?
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
echo ""
return $RETVAL
}

restart() {
# Соответственно рестарт
stop
start
}

reload() {
# "Холодная" перезагрузка -- перечитать параметры
echo -n $"Reloading smb.conf file: "
killproc smbd -HUP
RETVAL=$?
echo
return $RETVAL
}

rhstatus() {
# Настучать о состоянии
status smbd
status nmbd
}

case "$1" in
# Теперь нам надо собрать все функции вместе
# Функции то мы прописали, теперь набо как-то их вызывать
start)
# Прописав .....smb start мы вызовем эту функцию в этом месте
start
;;
stop)
# По аналогии думаю понятно
stop
;;
restart)
# ....
restart
;;
reload)
# ....
reload
;;
status)
# .....
rhstatus
;;
condrestart)
# ...
[ -f /var/lock/subsys/smb ] && restart || :
;;
*)
# Если ничего нет (в коммандной строке) то выдаем эту строчку
echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
exit 1
esac

exit $?
# Выходим с определенным выходом кейса


Формат времени GMT. Текущее время 05:54.
Показаны 2 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.