postzy 回复于:2004-04-11 13:08:33 |
在UNIX中也有计划任务,下面是详细介绍,自己看吧!
cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月 中的不同时段运行。(相当有用的一个命令,功能最强大。) At at命令。使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时 间段或高峰负荷时间段运行。 & 使用它在后台运行一个占用时间不长的进程。(大家应该经常用吧。) Nohup 使用它在后台运行一个命令,即使在用户退出(注意这点)时也不受影响。 一.crontab命令 crontab命令的一般形式为: crontab [-u user] -e -l -r 其中: -u 用户名。如果使用自己的名字登录,就不用使用-u选项。 -e 编辑crontab文件。不带-u选项可以编辑自己的crontab文件。 -l 列出crontab文件中的内容。不带-u选项可以列出自己的crontab文件的内容。 -r 删除crontab文件。小心使用哦。 crontab文件(各个用户的这个文件放在/var/spool/cron/crontab/目录中,以用户名来区别。) 每个条目中各个域的意义和格式如下。 下面就是这些域: 第1列分钟1~59 第2列小时1~23(0表示子夜) 第3列日1~31 第4列月1~12 第5列星期0~6(0表示星期天) 第6列要运行的命令 例子(注意:提交此命令会覆盖原来的文件,使用之前请做好备份。): 30 21* * * /apps/bin/cleanup.sh 上面的例子表示每晚的21:30运行/apps/bin目录下的cleanup.sh。 45 4 1,10,22 * * /apps/bin/backup.sh 上面的例子表示每月1、10、22日的4:45运行/apps/bin目录下的backup.sh。 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; 上面的例子表示每周六、周日的1:10运行一个find命令。 0,30 18-23 * * * /apps/bin/dbcheck.sh 上面的例子表示在每天18:00至23:00之间每隔30分钟运行/apps/bin目录下的dbcheck .sh。 0 23 * * 6 /apps/bin/qtrend.sh 上面的例子表示每星期六的11:00pm运行/apps/bin目录下的qtrend.sh。 既然是用户向cron提交了这些作业,就要向cron提供所需的全部环境。要保证在shell脚本中提供所有必要的路 径和环境变量,除了一些自动设置的全局变量。 二.at命令 at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。如果你希望在一个月或更长的时间以后运 行,最好还是使用crontab文件。 at命令的基本形式为: at [-f script] [-m -l -r] [time] [date] 其中, -f script 是所要提交的脚本或命令。 -l 列出当前所有等待运行的作业。atq命令具有相同的作用。 -r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只 接受atrm作为清除命令。 -m 作业完成后给用户发邮件。 time at命令的时间格式非常灵活;可以是H、HH.HHMM、HH:MM或H:M,其中H和M分别是小时和分钟。还可以使用 a.m.或p.m.。 date 日期格式可以是月份数或日期数,而且at命令还能够识别诸如today、tomorrow这样 的词。 使用at命令提交作业有几种不同的形式,可以通过命令行方式,也可以使用at命令提示符。 三.&命令 该命令的一般形式为: 命令 & 注意:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。 四.nohup命令 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup命令。该命令可以在你退出帐户之后继续运行相应的进程。 该命令的一般形式为: nohup command & 后台运行命令对于每天都运行的机器很有用,特别是对于我们这些懒的系统维护人员,可以减少我们的工作量,也可以避免某天忘记做什么重要的事情了。 |
davidtian 回复于:2004-04-11 15:40:18 |
我在unixware7上做了个定时的。用crontab做的。
到时总是不运行。 同样的程序,一摸一样,在tur64上运行就很好。 不知为什么? |
紫光纤 回复于:2004-04-11 20:26:27 |
多谢 测试正常 |
swysn 回复于:2004-04-12 00:24:13 |
crontab后
要reboot |
mwoshifeng 回复于:2004-04-12 11:02:54 |
我的原来也是。但是现在是自动的啦。西西,高人不是我 |
simonchan 回复于:2004-04-15 11:54:38 |
[quote:160753cffa="swysn"]crontab后
要reboot[/quote:160753cffa] 把cron进程重启一下就行了 |
yangpan1984 回复于:2004-04-17 19:32:46 |
不错
我试过了的,可以通过 |
kanli 回复于:2004-04-18 08:04:06 |
[quote:327d4b3afd="swysn"]crontab后
要reboot[/quote:327d4b3afd] 不需要reboot呀,我的系统就现设现用,就是你在试的时候,看看系统当前时间,不要将你的at或者cron时间设的太近,应该在2分钟以后,不然可能就会不执行。 另外用cron -e提交的执行正常,我用 vi [usrname] 提交的好像就得reboot |