首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>shell>正文

Linux shell介绍,第三章

http://www.oklinux.cn  2007-04-20  来源:           会员收藏  游客收藏  【 】 

第3章后台执行命令
当你在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还
有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,你可能希望它能够在
每天的非负荷高峰时间段运行。为了使这些进程能够在后台运行,也就是说不在终端屏幕上
运行,有几种选择方法可供使用。
在本章中我们将讨论:
• 设置c r o n t a b文件,并用它来提交作业。
• 使用a t命令来提交作业。
• 在后台提交作业。
• 使用n o h u p命令提交作业。
名词解释:
cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月
中的不同时段运行。
At at命令。使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时
间段或高峰负荷时间段运行。
& 使用它在后台运行一个占用时间不长的进程。
Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响。

3.1 cron和crontab
c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做
c r o n t a b的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件
来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周
三次,这完全取决于你。每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,
系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过
c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。
3.1.1 crontab的域
为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。
下面就是这些域:
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是c r o n t a b的格式:
分< >时< >日< >月< >星期< >要运行的命令
其中< >表示空格。
C r o n t a b文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位
于星期的后面。
在这些域中,可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作
业,那么可以在星期域使用1 - 5来表示。还可以在这些域中使用逗号“,”,例如你希望星期一
和星期四运行某个作业,只需要使用1 , 4来表示。可以用星号*来表示连续的时间段。如果你
对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5
个时间域,而且每个域之间要用空格分隔。该文件中所有的注释行要在行首用#来表示。

3.1.2 crontab条目举例
这里有c r o n t a b文件条目的一些例子:
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的c l e a n u p . s h。
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。
你可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l l
脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n
提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它
其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动
设置的全局变量。
如果c r o n不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。

共4页: 上一页 1 [2] [3] [4] 下一页

上一篇: Linux Shell介绍,第二章   下一篇: Linux shell介绍,第四章


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
· Linux shell介绍,第四章
· Linux Shell介绍,第二章
· Linux Shell介绍,第一章
· Sobell谈bash和Linux命令行命运
· 用shell写守护进程
· bash字符串匹配的用法
· Bash For Beginner's Guide (Bash新手指南)中文版下
· shell是什么
· 新手看招 Linux Shell编程简单一例
· Shell编程新手入门 Linux解释器原理
· 在Linux系统中批量建立用户的shell
· Linux中让Tomcat5自动启动服务脚本
· TCSH shell 编程入门
· shell 脚本,怎么样可以限定等待多长时间后执行。
· sed 中的变量问题(含有/符号),如何替换
· 一个小脚本,帮助你清除无用的rpm包
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux下的定时器:alarm()与setitimer(
· Linux和DOS的FORMAT命令区别[参考篇
· linux指令大全[2][注]来源于天津Lin
· linux指令大全[1][注]来源于天津Lin
· linux指令大全[3][注]来源于天津Lin
· 最常用的基本操作命令[推荐篇]
· 文件和目录操作相关命令详解
· 文件内容查询命令
· 文件内容统计命令
· 文件的复制、删除和移动命令
· 目录的创建与删除命令
· 文本处理sort命令
  阅读排行
·常用Linux Shell技巧集锦
·shell编程实例三:一个简单的目录菜单
·Shell编程基础
·Process priority and control on AIX
·Shell 编程实例集锦
·Shell脚本调试技术
·Bash 实例:探讨 ebuild 系统
·linux shell 编程基础
·Linux快速编辑Shell命令行
·Linux下的shell编程入门
·UNIX和Linux Shell正则表达式语法介绍
·使用 Bash shell 脚本进行功能测试
· Bash For Beginner's Guide (Bash新手
· bash字符串匹配的用法
·Linux操作系统下使用yum升级的详细方法
网摘收藏: