shellscript 03 后台执行命令

cron 可以使用它在每天非高峰负荷事件段运行作业 , 或一周 1个月中不同时间段运行

at 使用它在一个特定的事件运行一些特殊的作业。

& 使用它在后台运行一个时间不长的进程

Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响

1. cron , crontab

每一个用户都有自己的 crantab 文件,系统管理员一般会通过 cron.deny 和 cron.allow 这两个文件来禁止或准许用户通过自己的crobtab文件。

image

image

例如 :

30 21 * * * /apps/bin/cleanup.sh

crontab 命令

crontab [-u user] –e –l –r ( –u 用户名,-e编辑,-l查看,-r删除 )

编辑之前,首先要把 EDITOR=vi , 设置到环境变量中, export EDITOR

为 crontab 文件保存副本,如果不小心误删,可以使用副本重新提交

at

管理员是用过  /etc 下的 at.allow , at.deny 来控制那些用户可以使用 at 命令,对 at 命令不如对 crontab 使用限制那么严格

at [-f script] [-m –l -r] [time] [date]

-f script 提交脚本

-l 理出当前所有等待作业 = atq 命令

-r 清除作业

-m 作业完成后给用户发邮件

time 时间格式

date 日期格式

例如: at 3.00pm tomorrow –f /apps/bin/db_table.sh

&

命令后 加一个 & 就会放到后台执行

不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。 所以可以使用重定向

nohup

如果使用 nohup 命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为 nohup.out的文件中。

例如

nohup ./quarterned > qtr.out 2>1&1 &

posted @ 2012-12-17 16:29  神之一招  阅读(227)  评论(0编辑  收藏  举报