Depende das distribuições.
Se você está nas distros derivadas do Debian, existem pelo menos dois locais apropriados, /etc/rc.local e crontab. Você pode invocar o crontab como root,
crontab -e
e depois insira esta linha
@reboot /home/my_name/bin/my_command
onde my_command
é um arquivo executável ( chmod 755 my_command
).
Como alternativa, você pode colocar uma linha como esta
/home/my_name/bin/my_command
em /etc/rc.local, e isso será executado por último. De qualquer forma, os pls lembram que você está usando o ambiente raiz, não o seu. Também por esse motivo, é melhor usar caminhos absolutos.
Se você estiver em uma distribuição do sistema (Arch Linux, Fedora 19, ...), a primeira opção (crontab) ainda é válida, enquanto a segunda (/etc/rc.local) não existe mais. Nesse caso, você deve aprender como iniciar um serviço a ser executado systemctl
, mas isso pode ser mais do que você esperava com sua simples pergunta.