Linux 任务执行
对于密集访问磁盘的进程,希望它能够在每天非负荷的高峰时间段运行,可以通过指定任务计划使某些进程在后台运行
1.执行一次的at 命令
at命令用来向atd守护进程提交需要在特定时间运行的作业。在一个指定的时间执行
任务,只能执行一次。
格式: at [选项] [时间日期]
at命令选项
选项 作用
不从
在Ubuntu中,默认情况下是没有安装at的,在使用前需要安装,安装如下:sudo apt-get install at
,通常我比较喜欢yum安装:yum install at
这里写代码片
2.任意时间执行的batch命令
batch命令不在特定时间运行,而是等到系统不忙于别的任务时运行,batch 守护进程
会监控系统的平均负载。
- batch命令的语法与at 命令一样,可以用标准输人规定作业,也可以用命令行选择把作业作为batch 文件来提交。
- 输入batch命令后,提示就会出现“at>”。输人要执行的命令。按Enter键。然后按下Ctrl-D 键。
- 也可以在提示后输人Shel脚本。在脚本的每一行后按Enter键.然后在空行处输入Ctrl-D 键退出。
-
这里写代码片
3.在指定时间执行的crontab命令
cron 是系统主要的调度进程,可以在无须人工干预的情况下运行任务计划,由crontab命令来设定cron 服务。
crontab 命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个
crontab 文件来保存调度信息。可以使用它周期性地运行任意一个Shell 脚本或某个命令。系统管理员是通过cron.deny 和cron.allow 这两个文件来禁止或允许用户拥有自己的crontab 文件。
格式:crontab [选项] [用户名]
命令选项
选项 用法 -l 显示用户的crontab文件的内容 -i 删除用户的crontab文件前给提示 -r 从crontab目录中删除用户的crontab文件 -e 编辑用户的crontab文件
用户建立的crontab文件名与用户名一致,存于/var/spool/cron/crontabs/中,crontab文件格式共分为6个字段,前5个字段用于时间设定,第六个字段为所要执行的命令,其中前五个字段的含义为:
字段 含 义 取 值 范 围 1 分钟 0 ~ 59 2 小时 0 ~ 23 3 日期 1 ~ 31 4 月份 1 ~ 12 5 星期 0 ~ 6
例如:
0 6-12/3 * 12 * /user/bin/backup --十二月,每天早上6-12点中,每隔3个小时,执行一次/user/bin/backup,从0分开始
0分开始,*表示所有。