Skocz do zawartości

Chkconfig Nie Tworzy Odpowiednich Linkow - Pomocy


Lukasz69

Rekomendowane odpowiedzi

Witam!

Juz nie wiem co wymyslic. Zarzucam add i tworzony jest symlink do startu ale nie do killa. A na symlinku K mi najbardziej zalezy. Co robie zle? O co chodzi? Siedze 2h i juz nie wiem co robic.

#!/bin/bash
#
# chkconfig: 35 10  10
# description: Start and stop disk space

RETVAL=0

# See how we were called.

start() {
       return $RETVAL
}

stop() {
       echo "Umount disk: "
       /usr/bin/truecrypt -d
       return $RETVAL
}

case "$1" in
 start)
       $1
       ;;
 stop)
       $1
esac

exit $RETVAL

Odnośnik do komentarza
Udostępnij na innych stronach

Przed esac nie masz ";;".

Czy to jest powód nie wiem, ale na pewno błąd w skrypcie.

Przed esac nie trzeba dawac ;; z tego co sie orientuje. Skrypt odpalany z palca dziala dobrze. Co do rozwiazania problemu: RH ma troche inny format skryptow init(szkoda ze w man tego nie pisze). Tutaj link gdzie wlasnie pisze ze trzeba zalozyc odpowiedni plik przy starcie skryptu by pozniej moc wywolac instrukcje stop na shutdown. Co do truecrypt i odmontowywanie to zarzuce gotowy ladny skrypt w tym poscie wieczorkiem. Dodam jeszcze ciekawostke. Chkconfig daje mozliwosc dodatkoweg komentowania/przekazywania instrukcji - chodzi mianowicie o:

### BEGIN INIT INFO
# Provides: usluga moja
# Default-Start: 3 5
# Default-Stop: 3 5
# Short-Description: start and stop moja usluga
### END INIT INFO

Ten naglowek wymusza przez

# Default-Stop: 3 5

stopowanie uslugi w INIT 3 i 5 pomimo braku tego pliku co powinien byc tworzony na starcie.

No nic sporo sie napisalem moze przyda sie dal kogos kto bedzie zaczynal przygode z init.d :)

 

----- Dodana tresc skryptu poprawnego - mozna zapewne to ladniej napisac ale dziala -----

Plik ma byc w /etc/init.d/

Powinien nazywac sie checking

#!/bin/bash
#
# chkconfig: 35 10 10
# description: Check system

RETVAL=0

# See how we were called.

start() {
       touch /var/lock/subsys/checking
       return $RETVAL
}

stop() {
       echo -n "Checking system: "
       /usr/bin/truecrypt -l 2>/dev/null
       if [ $? -eq 0 ]; then
               /usr/bin/truecrypt -d 2>/dev/null
               if [ -f /var/lock/subsys/checking ]; then
                       rm -f /var/lock/subsys/checking
               fi
       else
               if [ -f /var/lock/subsys/checking ]; then
                       rm -f /var/lock/subsys/checking
               fi
       fi

       return $RETVAL
}

case "$1" in
 start)
       $1
       ;;
 stop)
       $1
       ;;
 *)
       echo "Bad usage - bad option"; exit 1
       ;;
esac

exit $RETVAL

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...