Script de inicialização [RESOLVIDO]

1. Script de inicialização [RESOLVIDO]

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 12:38h

Olá, tenho quatro servidores minecraft rodando em uma vps debian 7. E é muito complicado iniciar um a um toda vez que reiniciar a vps. Então gostaria de pedir a vcs um script para iniciar os quatro servidores no boot do vps. Mas cada servidor tem seu script que é o start.sh

Os sevidores estão nos diretorios:
/root/bungeecord/start.sh
/root/lobby/start.sh
/root/survival/start.sh
/root/skyblock/start.sh

Obrigado :D


  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 18:37h

Antes, vamos tentar dessa forma:

Crie um arquivo chamado start_srv.sh:
nano /root/start_srv.sh 

Copie e cole o conteudo abaixo:
#!/bin/bash
# Script para inicialização dos servers minecraft para o
# usuário do VOL @francisco_santos

# definindo arquivo de log
log="/var/log/start_srv.log"

echo -e "$(date) Incializando servers...\n" >> $log

# Bungeecord
echo -e "$(date) Incializando server bungeecord... " >> $log
cd /root/bungeecord/
/usr/bin/screen /root/bungeecord/start.sh >> $log 2>&1

# Lobby
echo -e "\n $(date) Incializando server lobby... " >> $log
cd /root/lobby/
/usr/bin/screen /root/lobby/start.sh >> $log 2>&1

# Survival
echo -e "\n $(date) Incializando server survival... " >> $log
cd /root/survival/
/usr/bin/screen /root/survival/start.sh >> $log 2>&1

#skyblock
echo -e "\n $(date) Incializando server skyblock... " >> $log
cd /root/skyblock/
/usr/bin/screen /root/skyblock/start.sh >> $log 2>&1

echo -e "\nFim\n\n\n" >> $log

Dê permissão de execução:
chmod +x /root/start_srv.sh 


teste o script:
/root/start_srv.sh 

Se tudo correr bem, exclua todas as tentativas/entradas anteriores (/usr/bin....) e coloque assim:
/root/start_srv.sh 


o arquivo final deve ficar assim:
 #!/bin/sh -e
#
# rc.local
#
#
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh /root/start_srv.sh
exit 0


Teste se esta tudo ok:
sudo /etc/init.d/rc.local start


abs,
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---

3. Re: Script de inicialização [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 12:58h

olá
rode isso :

sudo sed -i '/exit/ s/^/\root\/bungeecord\/start.sh\n\/root\/lobby\/start.sh\n\/root\/survival\/start.sh\n\/root\/skyblock\/start.sh\n/1' /etc/rc.local 



abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. script de inicialização

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 13:13h


nao deu. Esqueci de falar que cada um desses servidores minecraft tem que iniciar em uma screen.


5. Re: Script de inicialização

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 13:16h

Como vc faz pra iniciar manualmente? vc apenas roda o .sh? é interativo?(tem que responder algo?)

poste um dos sripts.sh para entendermos o como ele faz para automatizarmos.

OBS:: poste o conteúdo do seu script entre as tags code

abs.
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


6. script de inicialização

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 13:23h

quando eu reinicio o vps eu digito os seguintes comandos:

cd [diretorio do servidor]
screen ./start.sh

é esse o comando, mas so muda o diretorio, repito isso quatro vezes, pois sao quatro servidores.

O script que uso é esse:

#!/bin/bash

while true
do
stop
java -server -Xmx200M -Xms200M -jar spigot.jar
echo "If you want to completely stop the server process now, press Ctrl+C before the time is up!"
echo "Rebooting in:"
for i in 5 4 3 2 1
do
echo "$i..."
sleep 1
done
echo "Rebooting now!"
done



7. Re: Script de inicialização

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 13:30h

Entendido.
Como seu rc.local ja esta com os comandos anteriores, basta executar isso:

sudo sed -i '/\/root\// s/^/screen /g' /etc/rc.local 


abs

EDIT:::: tinha um erro na expressão. CORRIGIDO

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


8. script de inicialização

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 14:21h


nao deu ainda. Era para iniciar uma screen?


9. Re: Script de inicialização

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 14:39h

Deveria.

tente assim:

sudo sed -i '/screen/ s/^/\/usr\/bin\//g;s/$/ &/g' /etc/rc.local 


Se nao rolar, poste a saida de
cat -n /etc/rc.local 

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


10. Re: Script de inicialização

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 14:47h

Ainda nao deu. percebi q em alguns lugares apareceu oot o invez de root. devo mudar?

root@zareoncraft:~# cat -n /etc/rc.local
1 #!/bin/sh -e
2 #
3 # rc.local
4 #
5 # This script is executed at the end of each multiuser runlevel.
oot/bungeecord/start.sh
7 /usr/bin/screen /root/lobby/start.sh
8 /usr/bin/screen /root/survival/start.sh
9 /usr/bin/screen /root/skyblock/start.sh
10 # Make sure that the script will "exit 0" on success or any other
11 # value on error.
12 #
13 # In order to enable or disable this script just change the execution
14 # bits.
15 #
16 # By default this script does nothing.
17
oot/bungeecord/start.sh
19 /usr/bin/screen /root/lobby/start.sh
20 /usr/bin/screen /root/survival/start.sh
21 /usr/bin/screen /root/skyblock/start.sh
22 exit 0



11. Re: Script de inicialização

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 26/07/2015 - 14:54h

Sim! deve mudar. Os comandos devem ficar assim:
Use o nano /etc/rc.local para editar. CTRL + O , ENTER - para salvar e CTRL + X para sair
/usr/bin/screen /root/bungeecord/start.sh &
/usr/bin/screen /root/lobby/start.sh &
/usr/bin/screen /root/survival/start.sh &
/usr/bin/screen /root/skyblock/start.sh &




OBS:: APAGUE AS LINHAS 5,6,7,8 e 9 com o comando:
 sudo sed -i '5,9/d' /etc/rc.local 
ou editando com o nano.

Poste o rc.local novamente para conferirmos se esta ok.
abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


12. Re: Script de inicialização [RESOLVIDO]

Francisco Santos
Francisco_Santos

(usa Debian)

Enviado em 26/07/2015 - 15:07h


n deu. n é para colocar na pasta init.d?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts