Skrypt nie uruchamia si

Tematy związane z oprogramowaniem, instalacją, konfiguracją
kamil2234
Posty: 46
Rejestracja: 21 września 2011, 17:20

Skrypt nie uruchamia się ze startem systemu

Post 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ć?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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ć
kamil2234
Posty: 46
Rejestracja: 21 września 2011, 17:20

Post 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.
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post 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
kamil2234
Posty: 46
Rejestracja: 21 września 2011, 17:20

Post 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/
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Sprawdź co mówią logi. Tam powinna znaleźć się odpowiedź.
kamil2234
Posty: 46
Rejestracja: 21 września 2011, 17:20

Post 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?
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post 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.
kamil2234
Posty: 46
Rejestracja: 21 września 2011, 17:20

Post autor: kamil2234 »

No i7 mam i 8GB ram.
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

W takim razie nie masz się co martwić.
ODPOWIEDZ