Execute um comando após 10 minutos de inicialização

2

Eu tenho um servidor do CentOS. Quando o servidor inicializar, desejo executar um comando após 10 minutes de booting up . Como posso fazer isso?

$ /usr/bin/curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Stop HDFS via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/services/HDFS
    
por Shahrukh Khan 16.10.2015 / 14:14

3 respostas

3

tente escrever em um shell executado no boot

at now +10 minutes <<EOF
/usr/bin/curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Stop HDFS via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/services/HDFS
echo hello curl > /tmp/curl.log
EOF
  • um bom lugar, fica no final de /etc/rc.local ou /etc/rcX.d se você estiver mais familiarizado com o nível de execução.
  • o tempo de criação de /tmp/curl.log dirá se o curl foi executado.
por 16.10.2015 / 14:17
2

Você pode fazer isso no cron também. Basta adicionar em / etc / crontab:

@reboot /bin/sleep 600 && COMMAND
    
por 16.10.2015 / 14:47
0

Se você está rodando o CentOS 7, você também pode usar unidades de timer do systemd (veja man systemd.timer ). Em particular, aqui, você pode usar a diretiva OnBootSec= .

    
por 16.10.2015 / 17:17