Existem algumas abordagens para isso. Um script de inicialização, usando crontab e vários outros. O mais simples, na minha humilde opinião, é usar @reboot
tag no crontab do usuário que deveria estar rodando o comando athena-start start
.
A tag @reboot
executa o comando exatamente uma vez após a inicialização do seu computador. Use crontab -e -u <yourusername>
para colocar o que segue em crontab do usuário de sua escolha. O que segue é o que você deve colocar no crontab.
@reboot while [ "x'ps -ef|awk '$8 ~ /[:print:]*mysqld[:mysqld:]*/ { print $2 }'|wc -l'" == "x0" ]; do sleep 10 ; done && cd /your/directory && ./your_command
Pode ser uma boa ideia escrever isso em um script e colocá-lo em algum lugar, em vez de usar uma única linha horrível em seu crontab. A idéia por trás de tudo isso é: nós checamos a tabela de processos a cada 10 segundos e se encontramos uma correspondência, ie. existe um processo mysqld (ou algo parecido com ele), nós saímos do loop, mudamos para o diretório onde o precioso comando a ser executado é e então rodamos o comando no final.
Outra opção seria escrever um script de init que inicia após o daemon do MySQL, mas um exemplo para isso exigiria o conteúdo da linha que começa com # chkconfig
do seu script de init do MySQL.