您的位置:首页 > 运维架构 > Linux

Linux 自学笔记(三)——crontab 详解

2012-02-04 13:40 295 查看
一、概述:任务调度:系统在某个时间执行的特定命令或程序

   任务调度分类:

     1.系统工作任务:系统中某些重要的周期性工作,如:系统备份,杀毒等

     2.用户工作任务:用户操作执行的程序

任务调度文件位置:

/etc/crontab

编辑调度文件的命令:

crontab -e

执行:

调度任务进程会在满足预设时间条件后自动执行

二、实例讲解:

单任务调度:

实例实现:每分钟将系统时间追加至 mydate2 文件

分步命令:

1. 显示系统时间命令:date

2. 把系统时间写入文本mydate:date > /home/mydate2

3. 每分钟将系统时间追加至 mydate2 文件: date >> /home/mydate2

4. 写入调度文件的命令内容:* * * * * date >> /home/mydate2

操作截图:

1.进入调度文件命令:



2. 编辑调度文件,点击“ESC”键,输入 :wq 按回车保存



3. 控制台回显“crontab:installing new crontab” 表示添加调度任务成功。等几分钟后,用" ls -l " 查看 mydate2 文件已生成。



4. 运行命令:cat mydate2 查看调度任务结果如下:



5. 调度任务查看命令:crontab -l

6. 调入任务结束命令:crontab -r

执行此命令后 /etc/crontab 文件的内容会被删除

多任务调度:

方法一: 在crontab -e 命令下直接写。不推荐

缺点:机械执行,调度任务增多时,调度文件杂乱;修改调度文件困难;多用户执行时紊乱

方法二:把所有任务写成一个shell 文件。推荐

优点:可以利用shell 编程的特性写变量,过程控制等

实例讲解:

1. 编辑 shell 文件:vi mytask.sh



2. 保存 shell 文件。编辑调度任务文件内容,其实就是shell 文件的路径:

* * * * * /home/mytask.sh

3. 按道理来说,等几分钟之后就会有输出结果,但是我们 ls 之后发现没有输出结果,我们注意到,mytask.sh 文件没有执行的权限



4. 为 mytask.sh 分配执行权限,查看mytask.sh 修改后权限



5. 再过几分钟,就可以看到生成的 mytask.sh 文件了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: