Strona 1 z 1

[+] cron nie uruchamia skryptu

: 24 kwietnia 2012, 19:23
autor: peter86
Cześć.
Mam serwer, na którym zainstalowałem Debiana 6.0 Squeeze.

Ustawiam:

Kod: Zaznacz cały

crontab -e
w sposób jak poniżej:

Kod: Zaznacz cały

0 8 * * 1-5 /bin/sh /root/tcday.sh
0 20 * * 1-5 /bin/sh /root/tcnight.sh
Skrypty odpowiednio wyglądają tak:

tcnight.sh

Kod: Zaznacz cały

#!/bin/sh
echo "Up qdisc on eth0 at `date +%Y-%m-%d-%kh%M`" >> /root/tc.log
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root tbf rate 9500kbit burst 20kb latency 100ms
tcday.sh

Kod: Zaznacz cały

#!/bin/sh
echo "Up qdisc on eth0 at `date +%Y-%m-%d-%kh%M`" >> /root/tc.log
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root tbf rate 2048kbit burst 20kb latency 100ms
Skrypt oczywiście ręcznie działa. Z automatu nie. Ktoś ma pomysły dlaczego to może nie działać?


Edycja:
Nie tak, uruchamia się tylko polecenie "echo". Tworzy się plik tc.log, do którego wprowadzana jest data oraz czas. Nie wykonuje się druga część skryptu.

: 26 kwietnia 2012, 13:50
autor: sallival
crontab z jakiego konta jest uruchamiane?
Nie wiem po co jest polecenie /bin/sh w crontab jak masz #!/bin/sh w skrypcie
Jak chcesz crona uruchamiac i skrypt root to wpisz to do /etc/cron.d

: 26 kwietnia 2012, 14:22
autor: mariaczi
peter86 pisze:...Nie wykonuje się druga część skryptu.
Masz brak ścieżki do tc. Ustaw bezwzględną ścieżkę dla tc, np.:

Kod: Zaznacz cały

/sbin/tc
czyli Twój skrypt tcnight.sh powinien wyglądać tak:

Kod: Zaznacz cały

#!/bin/sh 
echo "Up qdisc on eth0 at `date +%Y-%m-%d-%kh%M`" >> /root/tc.log 
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root tbf rate 9500kbit burst 20kb latency 100ms
i będzie "jak sobie życzyłeś". :)

: 26 kwietnia 2012, 21:44
autor: Bastian
Jak ktoś zauważył wcześniej, pytanie jakiego użytkownika jest to tablica crona. Musisz uruchamiać albo z tablicy roota bądź tablicy systemowej.

: 27 kwietnia 2012, 10:16
autor: peter86
Działa. Bardzo dziękuję. Chyba za szybko przeczytałem dokumentację do crontab i nie wziąłem pod uwagę tego użytkownika.