Witam
Mam pytanie może pomożecie, bo już denerwuje mnie obecny VPS w mintshost. Ciągle co praktycznie miesiąć pada VPS i muszę ręcznie startować usługi http i serwer ts3.
Czy da się to zautomatyzować czyli jak padnie serwer i np usługa zatrzyma się lub zcrashuje to może serwer sam ją odpalić? Dzisiaj znowu wszystko padło a jestem w pracy w domu loguje sie po kluczu ssh a hasła nawet zapomniałem dla roota czy innych użytkowników to nawet nie moge postawić tego spowrotem na nogi.
I zastanawiam się czy zmieniać hosting czy jeszcze się zatrzymać o ile da sie to zautomatyzować bo przyznam że jest to bardzo denerwujące. Od kilku miesięcy bodajże 5 czy 6 zawsze ale to zawsze co miesiąć dzieją się takie rzeczy. Dużo mogę zrozumieć ale jestem już u kresu wytrzymałości. Trzymały mnie w miare atrakcyjne ceny ale jeżeli ma się dziać to co się dzieje to na poważnie rozważam zmianę....
Forum > Kącik Linuksa i Androida > Automatyczne uruchamianie usług
Wysłane 2014-11-10 13:18
Wysłane 2014-11-10 15:29 , Edytowane 2014-11-10 15:39
znalazłem
[LINK]
do przerobienia trochę bo porty raczej nie są potrzebne
a dokładniej usunąć
pętlę z portami
i=0
for n in ${SERVICE_PORT[@]}
do
a resztę wrzucić w pętlę while 1<2 ( żeby cały czas skrypt działał )
na końcu każdej pętli dodać sleepa co jaki czas ma kolejny przebieg ruszyć
i tam dodajesz sobie co ma się uruchomić jak procesu nie będzie
serwer pod linem ?
???
Wysłane 2014-11-10 18:04
Tak serwer pod linuxem
Przyznam bez bicia ,że podstawy programowania to ostatnio to miałem w technikum a później już nic więc sam skryptu to nie napiszę :)
Możecie chociaż jakiś tutorial zarzucić i powiedzieć co gdzie wrzucić w sensie gdzie plik umieścić?
Bo chodzi mi o to aby uruchamiało programy z określonej lokacji jako określony użytkownik i ew. sprawdzało czy działa. Żeby to by był windows to tam do autostartu bym wrzucił i przy restarcie by furneło wszystko na nogi a tak to trochę trzeba się namęczyć
Wysłane 2014-11-12 11:18 , Edytowane 2014-11-12 11:53
Rozumiem, że chcesz sprawdzać jakąś konkretną usługę i odpalać ją w razie wysypki? W skrypcie sprawdzającym możesz za pomocą ifa i ps sprawdzić czy program jest załadowany do pamięci, mniej więcej tak jak skrypcie z Twojego pierwszego posta. Sam skrypt może też odpalić usługę za pomocą /etc/init.d, czy systemctl (jeśli system jest weń wyposażony). Co z tych rzeczy jest dla Ciebie problemem?
Co do tego, gdzie plik umieścić: na koncie użytkownika który ma uruchamiać usługi odpalasz polecenie crontab -e, w otwartym pliku definiujesz co i kiedy odpalić:
* * * * * /polecenie/do/wykonania
Gwiazdki po kolei to minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia. Czyli np:
00 12 * * * - codziennie w południe
15 23 1 * * - pierwszego dnia każdego miesiąca o 15:23
* */2 * * 1-5 - od poniedziałku do piątku co dwie godziny
Czyli gdybyś chciał odpalić sprawdzanie co 5 minut niezależnie od dnia musiałbyś dać:
*/5 * * * *
Do tego jak napisałem wyżej, skrypt sprawdzający i ew. delegowanie uprawnień przez sudo i powinno śmigać.
Wysłane 2014-11-12 15:24 , Edytowane 2014-11-12 15:48
Dzięki bardzo szczur3k
znalazłem tez coś takiego
#!/bin/sh
# Automatically restarts a TeamSpeak3 Server once it has crashed.
# Required init.d integration of the Server
# Author : Maximilian Narr
# Homepage : devmx.de
# eMail : maxe.nr@live.de
# Adapt it to your path where the TS3 Server is located.
cd /home/ts3/teamspeak3-server_linux-x86
if [ -e ts3server.pid ]
then
if ( !(kill -0 $(cat ts3server.pid) 2> /dev/null) )
then
# Start command
sh /home/tsserver/ts3server_startscript.sh start
fi
else
# Start command
sh /home/tsserver/ts3server_startscript.sh start
fi
Aktualnie wrzuciłem skrypt do /etc/init.d/ odpaliłem go ręcznie
potem crontab -e
i
*/1 * * * * /etc/init.d/(nazwa skryptu)
Rozumiem że powinno banglać? Chętnie bym sprawdził ale na serwerze siedzą osoby
Wysłane 2014-11-12 17:56 , Edytowane 2014-11-13 12:20
Nie jestem przekonany co do wrzucania go do init.d
A dlaczego? To gdzie mogę wrzucać skrypty żeby je automatycznie uruchamiało przy restarcie vps?
nie wiem też do końca czy */1 zadziała, daj może zamiast tego 0-59
dałem już
EDIT
Ok już wiem że wszystko działa dzięki bardzo panowie za pomoc :)
Kto jest online: 1 użytkowników, 375 gości
mrrowek ,