Como iniciar um arquivo de script na inicialização?

7

Eu estou executando um pequeno servidor de minecraft estúpido.

Eu quero Lubuntu para executar o script a seguir quando o servidor é inicializado. NÃO no login e NÃO na reinicialização (a menos que esteja iniciando, é claro).

O script está atualmente localizado em:

/home/mc/server/craftbukkit.sh

Eu posso iniciar manualmente o script apenas indo até o diretório e digitando ./craftbukkit.sh . Mas eu quero disparar o script quando a máquina inicializar.

    
por John Palmer 07.08.2012 / 05:09

4 respostas

5

Eu executo um servidor de minecraft a partir de um terminal do Debian, e esta é provavelmente a maneira errada de fazê-lo, mas funciona. Primeiro, sudo apt-get install screen , depois salve o seguinte script como /etc/init.d/minecraft :

#!/bin/bash
case "$1" in
  start)
    screen -S minecraft /home/mc/server/craftbukkit.sh
    echo "Server started on screen minecraft"
    ;;
  stop)
    screen -X -S minecraft kill
    echo "Server shutting down"
    ;;
  *)
    echo "Usage: /etc/init.d/minecraft {start|stop}"
    exit 1
    ;;
esac

exit 0

Agora, execute os seguintes comandos como root:

update-rc.d -f minecraft defaults

Isso fará com que o servidor de minecraft seja executado em segundo plano quando o sistema for inicializado. Para visualizar o console, execute screen -x minecraft em um terminal. Para sair do console, pressione Ctrl + A e depois D.

    
por 07.08.2012 / 06:51
6

No ultimo Ubuntu, você deve fazer assim, criar /etc/init/bukkit.conf (qualquer que seja o .conf),

description     "Some java server"
author          "Moi <[email protected]>"

start on runlevel [2345]   # change start / stop level if needed
stop on runlevel [016]

pre-start script
   echo "script is abort to start"
end script

exec /path/to/script param1 param2

post-start script
   echo "script is started" # if you needed any post-start hack
end script

Mais informações aqui

    
por 07.08.2012 / 08:26
0

no ubuntu / lubuntu deve haver um item de menu chamado "aplicativos de inicialização". No meu servidor Ubuntu está sob o sistema > preferências > menu de aplicativos de inicialização. Isso é no gnome mas deve ser smiler. Escolha o botão Adicionar e dê a ele um nome como Minecraft e verifique se a caixa está marcada para começar.

isso pode não ser uma solução Linux de núcleo duro, mas fornece uma maneira fácil de ver se ele está ativado e desativá-lo / ativá-lo quando você quiser.

    
por 07.08.2012 / 05:29
0

Docker Eu prefiro criar o Dockerfile e executá-lo com --restart = always tag

Se você deseja executar seu script de shell no boot Então use o crontab do unix É muito fácil de usar & você pode configurar em minutos

  1. Edite o crontab executando o seguinte, substituindo o "USER" pelo usuário do tempo de execução desejado para o processo do nó. Se você escolher um usuário diferente de si mesmo, você terá que executar isso com o sudo.

    $ crontab -u USER -e

  2. Uma vez no editor, adicione a seguinte linha:

    @reboot sh /home/mc/server/craftbukkit.sh

  3. Salvar e & confirmar arquivo é salvo pelo comando de verificação de # 1 novamente

    Nota: Na minha opinião, você deve usar o caminho completo no arquivo crontab para evitar problemas

Você pode consultar essa referência de URL How to Cron do Ubuntu

    
por 21.05.2018 / 14:00