linux开机启动php程序,Linux知识二:设置开机启动项、定时运行程序

设置开机启动服务知识:

chkconfig --level 35 服务名 on:设定开机时启动的服务。

/etc/at.allow 与 /etc/at.deny 这两个档案来可以进行 at 的使用限制。希望有某些使用者使用 at 的话,将那个使用者的账号写入 /etc/at.deny 即可! 一个账号写一行。

at [-m] TIME,要让 /var/spool/at 目录底下的工作被实际运作,必须要启动我们上面提到的 atd 那个服务,参数:

-m   :当 at 的工作完成后,以 email 的方式通知使用者该工作已完成。

TIME:时间格式,这里可以定义出『什么时候要进行 at 这项工作』的时间,格式有:

HH:MM                     ex> 04:00

在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此工作。

HH:MM YYYY-MM-DD             ex> 04:00 2005-12-03

强制规定在某年某月的某一天的特殊时刻进行该工作!

HH:MM[am|pm] [Month] [Date] ex> 04pm December 3

也是一样,强制在某年某月某日的某时刻进行!

HH:MM[am|pm] + number [minutes|hours|days|weeks]

ex> now + 5 minutes ex> 04pm + 3 days

就是说,在某个时间点『再加几个时间后』才进行。

范例一:再过五分钟后,将 /root/.bashrc 寄给 dmtsai 这个使用者

[root@linux ~]# at now + 5 minutes

at> /bin/mail dmtsai -s "testing at job" < /root/.bashrc

at>    <==这里输入 [ctrl] + d 就会出现 的字样!代表结束!

job 8 at 2005-09-07 10:47

# 上面这行信息在说明,第 8 个 at 工作将在 2005/09/07 的 10:47 进行!

范例二:由于机房预计于 2005/09/16 停电,我想要在 2005/09/15 23:00 关机?

[root@linux ~]# at 23:00 2005-09-15

at> /bin/sync

at> /bin/sync

at> /sbin/shutdown -h now

at>

job 10 at 2005-09-15 23:00

# 您瞧瞧! at 还可以在一个工作内输入多个指令呢!不错吧!

atq:查询目前主机上面有多少的 at 工作排程。

atrm [jobnumber]:排除排程,先用atq查看排程的ID号,再用此命令排除排程。

chkconfig 命令用来更新和查询不同运行级上的系统服务,语法为:

chkconfig --list [name]

chkconfig --add name

chkconfig --del name

chkconfig [--level levels] name

chkconfig [--level levels] name。

chkconfig 有五项功能:添加服务,删除服务,列表服务,改变启动信息以及检查特定服务的启动状态。

选项介绍:

--level levels  指定运行级,由数字 0 到 7 构成的字符串,如:

--level 35   表示指定运行级3 和5。     要在运行级别3、4、5中停运 nfs 服务,使用下面的命令:chkconfig --level 345 nfs off

--add name      这个选项增加一项新的服务,chkconfig 确保每个运行级有一项 启动(S) 或者 杀死(K) 入口。如有缺少,则会从缺省的init 脚本自动      建立。

--del name      用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。

--list name     列表,如果指定了name 那么只是显示指定的服务名,否则,列出全部服务在不同运行级的状态。

不同的运行级定义如下:

# 0 - 停机(千万不能把initdefault 设置为0 )

# 1 - 单用户模式                                     # s   init s = init 1

# 2 - 多用户,没有 NFS

# 3 - 完全多用户模式(标准的运行级)

# 4 - 没有用到

# 5 - X11 多用户图形模式(xwindow)

# 6 - 重新启动 (千万不要把initdefault 设置为6 )

运行级文件,每个被chkconfig 管理的服务需要在对应的init.d 下的脚本加上两行或者更多行的注释。

第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。

第二行对服务进行描述,可以用 跨行注释。

例如,random.init 包含三行:

# chkconfig: 2345 20 80

# description: Saves and restores system entropy pool for

# higher quality random number generation.

表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。

实例:

1、在linux下安装了apache服务(通过下载二进制文件经济编译安装、而非rpm包)、apache服务启动命令:/usr/local/apache/bin/apachectl start,让apache服务运行在运行级别3下面。

命令如下:

1)touch /etc/rc.d/init.d/apache

vi /etc/rc.d/init.d/apache

chown -R root /etc/rc.d/init.d/apache

chmod 700 /etc/rc.d/init.d/apache

ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache

#S是start的简写、代表启动、K是kill的简写、代表关闭。60数字代表启动的顺序(对于iptv系统而言、许多服务建立在数据库启动的前提下才能够正常启动的、可以通过该数字就行调整脚本的启动顺序)。

apache的内容:

#!/bin/bash

#Start httpd service

/server/apache/bin/apachectl start。

定时运行知识:

crontab:使用者的设定,安全性的问题, 与 at 同样的,我们可以限制使用 crontab 的使用者账号,允许与禁止用法与at类似。当使用 crontab来建立工作排程之后,它就会被纪录到 /var/spool/cron/ 里。

crontab [-u username] [-l|-e|-r],参数:

-u :只有 root 才能进行这个任务,亦即帮其它使用者建立/移除 crontab;

-e :编辑 crontab 的工作内容

-l :查阅 crontab 的工作内容

-r :移除 crontab 的工作内容。

范例一:用 dmtsai 在每天的 12:00 发信给自己

[dmtsai@linux ~]$ crontab -e

# 此时会进入 vi 的编辑画面让您编辑工作!注意到,每项工作都是一行。

0   12  *  *  * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc。

代表意义 分钟   小时   日期   月份    周

数字范围 0-59 0-23 1-31 1-12 0-7。

特殊字符                           代表意义

代表任何时刻都接受的意思!举例来说,上表的范例一,那个日、月、周都是 * , 就

*

代表着『不论何月、何日的礼拜几的 12:00 都执行后续指令』的意思!

代表分隔时段的意思。举例来说,如果要下达的工作是 3:00 与 6:00 时,就会是:

0 3,6 * * * command

,

还是有五栏,不过第二栏是 3,6 ,代表 3 与 6 都适用!

代表一段时间范围内,举例来说, 8 点到 12 点之间的每小时的 20 分都进行一项工

-  作:

20 8-12 * * * command

仔细看到第二栏变成 8-12 喔!代表 8,9,10,11,12 都适用的意思!

那个 n 代表数字,亦即是『每隔 n 单位间隔』的意思,例如每五分钟进行一次,则:

*/5 * * * * command

/n

很简单吧!用 * 与 /5 来搭配,也可以写成 0-59/5 ,相同意思!

定时运行PHP文件:0 6 * * * /usr/local/php/bin/php /usr/local/apache/htdocs/test/timer.php  >> /tmp/cron.log。

后台运行:/usr/local/php/bin/php CopyBaseToFile.inc.php &。

终端关闭后继续在后台运行:nohup /usr/local/php/bin/php CopyBaseToFile.inc.php &。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值