在关机/重启之前运行脚本

我想在一个实例被告知closures时运行一个PHP脚本,但是当它实际上完成closures之前。 我特别的脚本只是将一些日志文件从本地分区推送到另一台服务器。

我有这个过程如何工作的要点,但我需要一些澄清。

我怎么理解 如果我错了,请纠正我。

  1. 在/etc/init.d中创build一个可执行脚本(让我们把它叫做/etc/init.d/push-logs)
  2. 从/etc/rc0.d(shutdown)和/etc/rc6.d(重新启动)创build一个到/etc/init.d/push-logs的符号链接。 这个名字应该是KXXpush-logs

这是我的问题:

  1. 当然 – 我理解正确吗?
  2. 对于上面的#2,听起来像XX越低越好 – 是否可以使用的数字太低? 如果它与另一个脚本共享一个数字,这有什么关系吗?
  3. /etc/init.d/push-logs中的脚本是否遵循标准的init.d模板(支持start / stop等命令)? 这并不适用于我的用例。 如果可能的话,我只想要脚本如下:
#!/bin/sh # # Run PHP file prior to shutdown # /usr/bin/php /path/to/php_file.php 

  1. 是的,ut符号链接的名字应该以S – for Start( K for Kill)开头,
  2. 两位数字指定脚本的执行顺序,最低编号是首先执行的。
  3. 是的,因为Linux将执行与S符号链接相同的service push-logs start

在CentOS上,你也需要在/var/lock/subsys/

 /var/lock/subsys/push-logs 

https://unix.stackexchange.com/questions/114274/an-init-script-does-not-get-called-on-shutdown

考虑到这一点,可能会更容易做一个虚假的服务,在启动时触摸该文件,并没有对状态做任何事情…