Execute o script antes de desligar / reiniciar

3

Eu gostaria de executar um script PHP quando uma instância é informada para o encerramento, mas é claro, antes de realmente terminar de desligar. Meu script específico está apenas tentando enviar alguns arquivos de log da partição local para outro servidor.

Eu tenho a essência de como esse processo funciona, mas preciso de alguns esclarecimentos.

Como eu entendo isso. Por favor, corrija-me se estiver errado.

  1. Crie um script executável em /etc/init.d (vamos chamá-lo /etc/init.d/push-logs)
  2. Crie um link simbólico para /etc/init.d/push-logs em /etc/rc0.d (shutdown) e /etc/rc6.d (reboot). O nome deve ser KXXpush-logs

Aqui estão minhas perguntas:

  1. Claro - estou entendendo corretamente?
  2. Para o número 2 acima - parece que quanto menor o XX, melhor - há um número muito baixo que eu possa usar? Importa se ele compartilha um número com outro script?
  3. O script em /etc/init.d/push-logs TEM que seguir o modelo init.d padrão (suportando comandos start / stop, etc.)? Isso realmente não se aplica ao meu caso de uso. Se possível, só quero que o script seja o seguinte:
#!/bin/sh
#
# Run PHP file prior to shutdown
#

/usr/bin/php /path/to/php_file.php
    
por dtbarne 19.11.2011 / 01:21

2 respostas

2
  1. Sim, o nome do link simbólico deve começar com S - for Start ( K para matar)
  2. O dois dígitos especifica a ordem de execução do seu script, o menor número sendo executado primeiro.
  3. Sim, porque o Linux executará o equivalente a service push-logs start para o link simbólico S .
por 19.11.2011 / 01:45
0

No CentOS você também precisa do arquivo correspondente em /var/lock/subsys/

/var/lock/subsys/push-logs

link

Com isso em mente, pode ser mais fácil criar um serviço falso que toque o arquivo no início e não faça nada no status ...

    
por 28.08.2014 / 07:41