Execute um único comando no início da máquina

1

A maioria dos servidores unix tem serviços definidos como scripts init, no linux em: /etc/init.d e no hp-ux em: /sbin/init.d .

No entanto, e se eu quiser apenas que um único comando seja executado quando a máquina inicializar?

Eu poderia escrever um script de serviço para esse propósito, mas isso me parece muito complicado para apenas um comando, que inicia um processo que executa algo e então termina imediatamente.

Existe algum script, em algum lugar, no qual eu possa acrescentar apenas uma linha, semelhante ao autoexec.bat no ms-dos?

    
por Petr 08.01.2014 / 10:07

2 respostas

1

Se você estiver usando um init do tipo System V ou BSD, poderá adicionar uma linha em /etc/rc.local com o comando. Eu sugiro que você faça o background dele (usando & ) para que ele não bloqueie a inicialização.

Se você estiver usando systemd , esteja ciente de que ele não lê /etc/rc.local por padrão. Você pode gravar um serviço para executar /etc/rc.local ou criar um arquivo de serviço para o comando em si. O último provavelmente irá aliviar algumas de suas preocupações sobre a criação de um script de init inteiro para um único comando - os arquivos de serviço systemd são muito mais fáceis de ler que os arquivos init tradicionais, que geralmente são scripts de shell totalmente desenvolvidos.

    
por 08.01.2014 / 10:09
0

Se você não quiser escrever um script de inicialização, você pode usar o cron .

Digite crontab -e e adicione

@reboot  /path/to/command
    
por 08.01.2014 / 10:32