开机自动执行php文件,[脚本]workman项目设置开机自启动

给Ubuntu添加一个开机启动脚本,操作如下:

1、新建个脚本文件wsocket

#!/bin/bash

### BEGIN INIT INFO

# Provides: lostphp.com

# Required-Start: $local_fs $network

# Required-Stop: $local_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: wsocket service

# Description: wsocket service daemon

### END INIT INFO

php=/usr/bin/php

root_path="/data/socket/hnzsxd/"

start_file="start.php"

case "$1" in

start)

echo 'starting hnzsxd start.php'

echo "$php ${root_path}${start_file} start -d"

$php ${root_path}${start_file} start -d

;;

stop)

echo "stoping hnzsxd...start.php"

echo "$php ${root_path}${start_file} stop"

$php ${root_path}${start_file} stop

;;

status)

echo "status hnzsxd...start.php"

echo "$php ${root_path}${start_file} status"

$php ${root_path}${start_file} status

;;

restart)

echo "restarting hnzsxd...start.php"

echo "$php ${root_path}${start_file} reload"

$php ${root_path}${start_file} reload

;;

*)

echo "Usage: $0 {start|stop|restart|restart}"

exit 1

;;

esac

2、设置权限

sudo chmod 755 wsocket

#或者

sudo chmod +x wsocket

3、把脚本放置到启动目录下

sudo mv wsocket /etc/init.d/

4、将脚本添加到启动脚本

执行如下指令,在这里90表明一个优先级,越高表示执行的越晚

cd /etc/init.d/

sudo update-rc.d wsocket defaults 90

5、移除Ubuntu开机脚本

sudo update-rc.d -f wsocket remove

6、通过sysv-rc-conf来管理上面启动服务的启动级别等,还是开机不启动

sudo sysv-rc-conf

7、update-rc.d的详细参数

使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

update-rc.d [-n] [-f] remove

update-rc.d [-n] defaults

update-rc.d [-n] disable|enable [S|2|3|4|5]

update-rc.d start|stop -n: not really

-f: force

其中:

disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。

start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)

NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)

runlevels:则指定了运行级别。

实例:

(1)、添加一个新的启动脚本sample_init_script,并且指定为默认启动顺序、默认运行级别(首先要有实际的文件存在于/etc/init.d,即若文件/etc/init.d/sample_init_script不存在,则该命令不会执行):

update-rc.d sample_init_script defaults

上一条命令等效于(中间是一个英文句点符号):

update-rc.d sample_init_script start 20 2 3 4 5 . stop 20 0 1 6

(2)、安装一个启动脚本sample_init_script,指定默认运行级别,但启动顺序为50:

update-rc.d sample_init_script defaults 50

(3)、安装两个启动脚本A、B,让A先于B启动,后于B停止:

update-rc.d A 10 40

update-rc.d B 20 30

(4)、删除一个启动脚本sample_init_script,如果脚本不存在则直接跳过:

update-rc.d -f sample_init_script remove

这一条命令实际上做的就是一一删除所有位于/etc/rcX.d目录下指向/etc/init.d中sample_init_script的链接(可能存在多个链接文件),update-rc.d只不过简化了这一步骤。

(5)禁止Apache/MySQL相关组件开机自启:

update-rc.d -f apache2 remove

update-rc.d -f mysql remove

8、服务的启动停止状态

#通过service,比如

sudo service wsocket status

sudo service wsocket start

sudo service wsocket stop

sudo service wsocket restart

9、查看全部服务列表

sudo service --status-all

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值