Como faço para executar um script na inicialização da máquina Ubuntu?

Respostas:

8

Maneira simples

Você pode adicionar este script no /etc/rc.localarquivo (antes da exitlinha), por exemplo

/home/myuser/go.py &

Onde &no final executará o script em segundo plano.

Verifique se você possui sinalizadores de execução. Para testá-lo, basta executar a partir do terminal:

sh /etc/rc.local
kenorb
fonte
2

Você pode colocar um script no /etc/init.d/diretório (por exemplo /etc/init.d/go.py:) para qualquer coisa que você queira executar no momento da inicialização.

http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian

Tim
fonte
7
Prefiro /etc/rc.localque você não precise alterar os links em nível de execução.
Dirk Eddelbuettel
@DirkEddel - Eu concordo com isso!
BloodPhilia
Talvez você deva adicionar isso como uma resposta separada para que possa ser votada?
Steve Homer
2

Existem várias maneiras de fazer isso (dependendo da distribuição do linux que você estiver usando, existem diferentes ferramentas oferecidas).

A maneira mais fácil é simplesmente adicionar o script ao /etc/init.d e executar o comando

chmod +x go.py
update-rc.d go.py defaults

Se você já configurou o serviço, também poderá fazê-lo através do comando chkconfig (ou seja, se o comando estiver disponível).

Nesse caso, este comando deve funcionar:

chkconfig --level 35 go.py on

Confira ESTE SITE, mais especificamente as seções "Usando chkconfig para iniciar Daemons em cada nível de execução" e "Usando sysv-rc-conf para iniciar Daemons em cada nível de execução".

Ormis
fonte
0

O cron possui uma @rebootopção especial que permite isso. Agradável e simples.

Uma tarefa cron normal pode ser:

* * * * * /path/to/app

Uma @reboottarefa cron pode ser:

@reboot /path/to/app
ceejayoz
fonte