Skocz do zawartości
kongol

Zlecę napisanie łatwego skryptu na serwer

Polecane posty

Zlecę napisanie skryptu pod serwer tak aby po wrzuceniu na inny serwer można go bez problemu pobrać i uruchomić na drugim serwerze i aby wykonywało automatycznie takie polecenie:

 

1) Daje 2 komeny

sudo iptables -A INPUT --src xxx.xx.xx.xxx -p tcp --dport 1080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1080 -j

2) Dodaje dwie komendy do crontab

reboot - zawsze o 4 rano

ssh -f -N -D 0.0.0.0:1080 localhost - zawsze o 6 rano

 

 

Edytowano przez kongol (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Napisz sobie prosty bashowy skrypt.

Jeśli chodzi o sudo, to cały skrypt możesz odpalić spod roota (sudo) i jego polecenia również wykonają się z prawami roota.

 

Jak nie dasz rady, to mogę Ci to napisać późnym wieczorem.

 

EDIT:

Sprawdź, bez obsługi błędów, na szybko (odpalasz ./skrypt 192.168.1.1):

#!/bin/bash
iptables -A INPUT --src $1 -p tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j
echo "Regulki iptables zostaly zaktualizowane."

(crontab -l; echo "0 4 * * * reboot" ) | crontab -
(crontab -l; echo "0 6 * * * ssh -f -N -D 0.0.0.0:1080 localhost" ) | crontab -
echo "Crontab zostal zaktualizowany."

Jak nie możesz zdecydować się na cenę, to ustaw 75 PLN - będzie pośrednio :D

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

o jak szybko :D a ja napisałem coś takeigo i właśnie miałem zapytać czy dobrze :)

 

Tworzę plik skrypt.sh o zawartości:

#! /bin/bash
iptables -A INPUT --src xxx.xx.xx.xxx -p tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j
echo 00 4 * * * reboot >> /etc/crontab
echo 00 6 * * * ssh -f -N -D 0.0.0.0:1080 localhost >> /etc/crontab
reboot

 

Teraz uruchamiam wszystko komendą:
sudo wget www.test.pl/skrypt && ./skrypt



Sprawdź, bez obsługi błędów, na szybko (odpalasz ./skrypt 192.168.1.1):

 

A skąd się wzieło 192.168.1.1?

A nie mogę odpalić tak? ./skrypt www.test.pl/katalog

Edytowano przez kongol (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zrobiłem Ci tak, żebyś mógł w argumencie wpisywać adres IP, który ma zostać wykorzystany w regułce iptables. Jak chcesz odpalać na swój sposób, to adres wpisujesz "na sztywno" w skrypcie:

#!/bin/bash
iptables -A INPUT --src 192.168.1.1 -p tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j
echo "Regulki iptables zostaly zaktualizowane."

(crontab -l; echo "0 4 * * * reboot" ) | crontab -
(crontab -l; echo "0 6 * * * ssh -f -N -D 0.0.0.0:1080 localhost" ) | crontab -
echo "Crontab zostal zaktualizowany."

Teraz odpalone przez: sudo wget www.test.pl/skrypt && chmod +x skrypt && ./skrypt powinno zadziałać.

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wpisałem ręcznie, żeby sprawdzić czy działa dodawanie do crone:

sudo (crontab -l; echo "0 4 * * * reboot" ) | crontab -
sudo (crontab -l; echo "0 6 * * * ssh -f -N -D 0.0.0.0:1080 localhost" ) | crontab -

I po każdej komendzie wyskakuje

-bash: bł±d składni przy nieoczekiwanym znaczniku `crontab'
Edytowano przez kongol (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Odpaliłem, działa :)

# (crontab -l; echo "0 6 * * * TESTOWA KOMENDA") | crontab -
# crontab -l
0 6 * * * ssh -f -N -D 0.0.0.0:1080 localhost
0 6 * * * TESTOWA KOMENDA

Cały skrypt odpalasz spod sudo, nie poszczególne komendy. Sprawdziłeś?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

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

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×