Obtendo um script para ser executado na inicialização, não no login

10

Como posso obter um script específico para ser executado (de preferência não como superusuário) sempre que a máquina inicializar, mas antes do login. Pode ser a última coisa a ser executada na inicialização. Eu principalmente quero que o script funcione mesmo que nenhum usuário faça o login.

    
por Malabarba 27.10.2010 / 20:51

2 respostas

8

Eu recomendaria usar cron . O valor de tempo especial de @reboot gerará seu trabalho a cada reinicialização como seu usuário. Por exemplo, execute crontab -e e use:

@reboot /home/yourself/bin/some_script_to_run

Para mais detalhes sobre os formatos de horário especiais, consulte man 5 crontab

    
por Kees Cook 28.10.2010 / 01:14
4

Uma possibilidade é usar o Upstart. Isso permite que você especifique quando deseja executar seu script em termos de dependências, por exemplo, “Quando os sistemas de arquivos são montados e a interface de rede eth0 está ativa e funcionando”. Crie um arquivo /etc/init/bruce_script.conf (você precisa criar o arquivo como root) contendo algo assim:

description "Bruce's boot script"
start on filesystem and net-device-up IFACE=eth0
task
exec su -c '/home/bruce/script' bruce

Consulte a documentação do upstart para obter mais informações, em particular o init(5) página de manual para uma lista do que você pode colocar no arquivo de configuração.

    
por Gilles 28.10.2010 / 00:57