LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1947|回复: 13

请问怎样设定时服务呢?谢谢!=》任务调度[讨论篇]

[复制链接]
发表于 2003-1-16 16:08:01 | 显示全部楼层 |阅读模式
我单们网管走了!头让我天天开LINUX那机器,烦死了!
不知道不没有什么方法!能定时执得。比如说:早上8:00运行 AAA 晚上 6:00运行 BBB!
请各位高手指教!谢谢!
发表于 2003-1-16 16:14:07 | 显示全部楼层
看看cron的文档吧!
发表于 2003-1-17 09:53:20 | 显示全部楼层
还有一个at指令
发表于 2003-1-17 11:15:09 | 显示全部楼层
[root@linuxsir01 root]# kcron
如果有桌面,kcron还是不错的,都是图形化的设置。极为简单。试一下。如果是文本形式的运行,调度系统任务,就直接改这个件。/etc/crontab
下面的文件就是。

[root@linuxsir01 root]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
1 * * * *       root    run-parts /etc/cron.hourly
#
2 4 * * *       root    run-parts /etc/cron.daily
#
22 4 * * 7      root    run-parts /etc/cron.weekly
#
42 4 1 * *      root    run-parts /etc/cron.monthly
#
0,5,10,15,20,25,30,35,40,45,50,55 * * * *       root    /usr/bin/mrtg /etc/mrtg/mrtg.cfg
# This file was written by KCron. Copyright (c) 1999, Gary Meyer
# Although KCron supports most crontab formats, use care when editing.
# Note: Lines beginning with "#\" indicates a disabled task.

格式中有6个字段。我们可以直接更改或者添加,当然这是系统任务调用。举个例子,比如我在每天的早上8点30分重新启动samba,就可以在
/etc/crontab中加入下面的两句,第一句就是注释了。以#号开始,后面写一个自己能认得出来的标签。

# smrestart

30 8 * * *      /etc/init.d/smb restart

这个让我标了颜色了。总共有6个段,每个段之间,要有空格来间隔。看一下颜色就知道有六个

从第一个说起。
第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59
第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23
第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31
第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12
第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。
第六段应该定义的是:执行的命令和参数。

对比上面的例子就知道,30是不是分钟??8是不是小时?如果有*代表的地方,表示全部,也就是说,每个月,每天,每星期都要执行。最后的一段/etc/init.d/smb restart,是不是命令和参数??

这仅是说明一个系统任务调用的,也仅举了一个例子,如果弟兄们有兴趣,我们还可以一起来学习个人任务调度。用下面的命令
[root@linuxsir01 tmp]# crontab -e

一般的情况下,我们把普通用户的任务设置好后,就存在了/tmp目录下。大家来学习吧。我也初学,根本就不太懂这个。还得努力 。。。

多谢。。。。
发表于 2003-1-18 00:39:13 | 显示全部楼层
北南老大太细心了,老实说我只是在当年做BBS的时候用过一次cron,都忘的差不多了。谢谢老大!
 楼主| 发表于 2003-1-20 17:25:30 | 显示全部楼层

是不是这样呢?

如果我每天早上8:30执行一个adsl-start 开,
是不是这样子呢?
如果改为每周一到周五 应该怎么设呢?不好意思,我才接触,请各位多多包涵!

[root@linuxsir01 root]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#adsl-start
  30 8 * * * /etc/init.d/adsl-start start
# run-parts
1 * * * * root run-parts /etc/cron.hourly
#
2 4 * * * root run-parts /etc/cron.daily
#
22 4 * * 7 root run-parts /etc/cron.weekly
#
42 4 1 * * root run-parts /etc/cron.monthly
#
0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg
# This file was written by KCron. Copyright (c) 1999, Gary Meyer
# Although KCron supports most crontab formats, use care when editing.
# Note: Lines beginning with "#\" indicates a disabled task.
发表于 2003-1-20 19:41:59 | 显示全部楼层
如果周一到周五,你就写成
30 8 * * 1,2,3,4,5 /etc/init.d/adsl-start start
 楼主| 发表于 2003-2-13 16:05:55 | 显示全部楼层
我安亲兄弟的办法做了。可是不成。过程如下。请帮忙看看是不是哪里做错了!谢谢!
我想设为每天下午的15点45执行ADSL-STOP  
VI CRONTAB
 # adsl-stop
    45 15 * * * /etc/init.d/adsl-start start
然后存盘退出!
是不是就等着到时间就执行了!
 兄弟下面的一句!
问题
1。 CRONTAB -E 我也执行了。可是没什么反正。不知道这个命令是做什么用的。
2。下午的时间是不是用 “15 ”这样的表示
3。 我在开LINUX的时候,在ROOT下执行的ADSL-STOP ,是不是说,这个ADSL-STOP就是存在于ROOT下的。
4。最后一段,/etc/init.d/adsl-start 是不是写ADSL-STOP所在的目录位置!
小弟初学,请各位朋友多多包涵!谢谢!
QQ:175667 全天在线,请各位大虾多多帮助,小弟谢过先!
发表于 2003-2-13 16:31:24 | 显示全部楼层
at呢?是什么来的?
发表于 2003-3-12 14:11:26 | 显示全部楼层
问题
1。 CRONTAB -E 我也执行了。可是没什么反正。不知道这个命令是做什么用的。
2。下午的时间是不是用 “15 ”这样的表示
3。 我在开LINUX的时候,在ROOT下执行的ADSL-STOP ,是不是说,这个ADSL-STOP就是存在于ROOT下的。
4。最后一段,/etc/init.d/adsl-start 是不是写ADSL-STOP所在的目录位置!
小弟初学,请各位朋友多多包涵!谢谢!
QQ:175667 全天在线,请各位大虾多多帮助,小弟谢过先


第二条是对的。
第三条:应该说adsl-stop是root权限执行的。按兄弟的意思,就是这个意思
第四条:应该是/usr/sbin/adsl-start
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表