设置开机启动服务知识: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 minutesat> /bin/mail dmtsai -s "testing at job" < /root/.bashrcat> <EOT> <==这里输入 [ctrl] + d 就会出现 <EOF> 的字样!代表结束!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-15at> /bin/syncat> /bin/syncat> /sbin/shutdown -h nowat> <EOT>job 10 at 2005-09-15 23:00# 您瞧瞧! at 还可以在一个工作内输入多个指令呢!不错吧!atq:查询目前主机上面有多少的 at 工作排程。atrm [jobnumber]:排除排程,先用atq查看排程的ID号,再用此命令排除排程。chkconfig 命令用来更新和查询不同运行级上的系统服务,语法为: chkconfig --list [name]chkconfig --add namechkconfig --del namechkconfig [--level levels] namechkconfig [--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/apachevi /etc/rc.d/init.d/apachechown -R root /etc/rc.d/init.d/apachechmod 700 /etc/rc.d/init.d/apacheln -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 &。
转自:http://mcncc.com/simple/?t19471.html