Strona 1 z 2

Skrypt nie uruchamia się ze startem systemu

: 21 września 2011, 20:40
autor: kamil2234
Napisałem sobie taki skrypt, który umieściłem w katalogu:

Kod: Zaznacz cały

/etc/init.d/

Kod: Zaznacz cały

#!/bin/sh
# skypt uruchamia się w raz systemem i odczytuje adres ip do zablokowania ,które direct admin dodał
PLIK="/home/directadmin/scripts/custom/lista_block_ip.txt"
while read; do
iptables -I INPUT -s $REPLY -j DROP
done < "$PLIK" 
Niestety nie uruchamia się wraz ze startem systemu. Coś muszę jeszcze gdzieś dopisać?

: 21 września 2011, 20:43
autor: Bastian
Tak, pliki statrowe w Debianie mają odpowiednią formę, muszą zawierać odpowiednie wpisy. Popatrz tutaj:

http://www.debian-administration.org/articles/28

Taki plik jak twój to najlepiej wrzucić w /etc/rc.local wtedy bedzie działać

: 21 września 2011, 20:54
autor: kamil2234
Czytałem to już ale nie mogę wykonać tego:

Kod: Zaznacz cały

update-rc.d mój_skrypt defaults
Z nie znanego powodu:

Kod: Zaznacz cały

command not found

Dodane:

Kod: Zaznacz cały

#! /bin/sh
# /etc/init.d/zablokowane_adresy_ip

#
# Some things that run always
touch /var/lock/zablokowane_adresy_ip
# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script zablokowane_adresy_ip"
    PLIK="/home/directadmin/scripts/custom/lista_block_ip.txt"
        while read; do
        ptables -I INPUT -s $REPLY -j DROP
        done < "$PLIK"
    ;;
  stop)
    echo "Stopping script zablokowane_adresy_ip"
    ;;
  *)
    echo "Usage: /etc/init.d/zablokowane_adresy_ip {start|stop}"
    exit 1
    ;;
esac

exit 0
Tak to wygląda i też nie działa.

: 21 września 2011, 21:07
autor: VMLine
A czy skrypt ma prawa wykonywalne?

Kod: Zaznacz cały

chmod +x skrypt
Proponuję skorzystać z:
http://help.directadmin.com/item.php?id=380

: 21 września 2011, 21:08
autor: kamil2234
Oczywiście.

Kod: Zaznacz cały

man update-rc.d
też nie działa.

Jak dopisałem to do:

Kod: Zaznacz cały

/etc/rc.local
to się wykonuje.
Ale, chciałbym wiedzieć dlaczego nie mogę umieścić tego w:

Kod: Zaznacz cały

/etc/init.d/

: 21 września 2011, 21:31
autor: VMLine
Sprawdź co mówią logi. Tam powinna znaleźć się odpowiedź.

: 21 września 2011, 21:38
autor: kamil2234
Mniejsza o to - już działa.

Tak na marginesie. jak lista będzie długa np. 10000 pozycji to długo będzie się wczytywać? Poza tym te reguły iptables to nie za dużo?

: 21 września 2011, 21:40
autor: VMLine
Zależy od procesora, generalnie można użyć przelicznika 100 reguł 1 sekunda, tak więc 1k reguł może potrwać kilka sekund.

: 21 września 2011, 21:41
autor: kamil2234
No i7 mam i 8GB ram.

: 21 września 2011, 21:44
autor: VMLine
W takim razie nie masz się co martwić.