Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Ja mam takie pytanie, bo w /etc/init.d są skrypty które można tam dodać komendą (teraz niepamiętam) do startowych i przy starcie zostanie wywołany taki skrypt z jaką zmienną ?? Jak mam start|stop|restart ???
Bo sam napisałem taki skrypt firewalla i niewiem jak to jest:P
Offline
Kawałek ze spryptu od MySQL:
case "${1:-''}" in 'start') # check for config file if [ ! -r /etc/mysql/my.cnf ]; then /bin/echo -e "nWARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" fi # Start daemon echo -n "Starting MySQL database server: mysqld" if mysqld_status check_alive nowarn; then echo "...already running." else /usr/bin/mysqld_safe > /dev/null 2>&1 & for i in 1 2 3 4 5 6; do sleep 1 if mysqld_status check_alive nowarn ; then break; fi done if mysqld_status check_alive warn; then echo "." # Now start mysqlcheck or whatever the admin wants. /etc/mysql/debian-start else echo "...failed or took more than 6s." /bin/echo -e "tPlease take a look at the syslog." fi fi if $MYADMIN variables | egrep -q have_bdb.*YES; then /bin/echo "BerkeleyDB is obsolete, see /usr/share/doc/mysql-server-5.0/README.Debian.gz" | $ERR_LOGGER -p daemon.info fi ;; 'stop') # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible # at least for cron, we can rely on it here, too. (although we have # to specify it explicit as e.g. sudo environments points to the normal # users home and not /root) echo -n "Stopping MySQL database server: mysqld" if ! mysqld_status check_dead nowarn; then set +e shutdown_out=`$MYADMIN shutdown 2>&1`; r=$? set -e if [ "$r" -ne 0 ]; then /bin/echo -e -n "...failed.n$shutdown_outnKilling MySQL database server by signal: mysqld" killall -15 mysqld server_down= for i in 1 2 3 4 5 6 7 8 9 10; do sleep 1 if mysqld_status check_dead nowarn; then server_down=1; break; fi done if test -z "$server_down"; then killall -9 mysqld; fi fi fi if ! mysqld_status check_dead warn; then echo "...failed." echo "Please stop MySQL manually and read /usr/share/doc/mysql-server-5.0/README.Debian.gz!" exit -1 else echo "." fi ;; 'restart') set +e; $SELF stop; set -e $SELF start ;; 'reload'|'force-reload') echo -n "Reloading MySQL database server: mysqld" $MYADMIN reload echo "." ;; 'status') if mysqld_status check_alive nowarn; then $MYADMIN version else echo "MySQL is stopped." exit 3 fi ;; *) echo "Usage: $SELF start|stop|restart|reload|force-reload|status" exit 1 ;; esac
Popatrzeć i brzerobić według własnego uznania.
Przy starcie systemu skrypt jest zawsze wywoływany ze zmnienną start...
No to teraz zagadka :) zrobiłem sobie skrypta dodałem przez update-rc.d firewall defaults 20 i.... niestartuje z kompem kaaramba poniżej skrypt :)
Dodam że normanie firewall start jak i inne opcje działają :) i tam gdzie się mial dodać się dodał simlink .....
#!/bin/bash #PATH=/sbin:/bin:/usr/sbin:/usr/bin case "$1" in start) echo "STARTUJEMY FIREWALL JAAAZDA " if [ ! "$2" == "" ]; then NOC="/root/skrypty/inet/config_noc" DZIEN="/root/skrypty/inet/config_dzien" CEL="/root/skrypty/inet/rc.fire_conf" if [ -s $NOC ]; then if [ -s $DZIEN ]; then if [ -s $CEL ]; then if [ "$2" == "noc" ]; then cp -v $NOC $CEL else cp -v $DZIEN $CEL fi fi fi fi fi /root/skrypty/inet/rc.firewall start /root/skrypty/inet/rc.hfsc start ;; stop) echo "ZATRZYMUJEMY FIREWALL'a " /root/skrypty/inet/rc.firewall stop /root/skrypty/inet/rc.hfsc stop ;; test) if [ -z "$2" ]; then CZAS="20" fi if [ ! -z "$2" ]; then CZAS="$2" fi echo "Włączam Firewalla na $CZAS sekund" /root/skrypty/inet/rc.firewall start /root/skrypty/inet/rc.hfsc start echo `sleep $CZAS` /root/skrypty/inet/rc.firewall stop /root/skrypty/inet/rc.hfsc stop ;; *) echo "Dostępne opcje: /etc/init.d/firewall {start|stop|test time}" >&2 exit 1 ;; esac
Offline
Odpal go ręcznie i sprawdz czy nie wyrzuca błędów. Sprawdź też czy na pewno powstały dowiązania w katalogach runleveli, czy startuje i konczy działanie w odpowiednich runlevelach. No i chyba kolejnosc jest ważna dobrze jakby startował po postawionych interfejsach sieciowych.
Offline
Interfejsy sa podnoszone już w rcS.d także nie ma obaw że odpalisz skrypt wcześniej niż interfejsy. Co do skrytpu to sprawdź czy odwołanie w katalogu rc2.d ma literke S przy nazwie.
Offline
hej, skrypt w np, /etc/rc2.d(start systemu - muliuser), bedzie uruchamial tylko podwarunkiem ze w linku bedzie litera S np. S99proftpd
gdybysmy chcieli zeby bylo killowane to link musialby miec nazwe K99proftp gdzie K-kill, S-start numer - numer uslugi kiedy startuje i nazwa deamona
Offline