灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1673回复:0

Linux中的定时任务调度—crontab命令

楼主#
更多 发布于:2012-08-27 15:09

Linux中的定时任务调度—crontab命令
在linux系统中,有些工作需要周而复始的工作,有些任务需要在某个特定的时间启动工作,这就可以通过crontab这个命令来进行设置,这个文件在/etc/crontab。具体步骤为:
(1)设置任务
    执行命令:crontab  –e  (或者vi /etc/crontab)
(2)在出现的命令行中编辑
    例如设置每每个一段时间去执行 data >> /home/chen/mydata 这个命令
    data命令时显示当前时间,上面则个命令表示将当前时间以追加的方式写入到文件/home/chen/mydata这个文件中。
在上面的编辑器中输入:
* * * * * data >>/home/chen/mydata
然后保存退出,系统便会在每分钟执行一次 data >> /home/chen/mydata 这个命令
定时的时间规则是:
           时间          含义             范围
第1个数字:分钟   每小时中的第几分钟执行  0-59
第2个数字:小时   每天的第几个小时执行    0-23
第3个数字:日期   每月的第几天执行        0-31
第4个数字:月份   每年的第几个月执行      0-12
第5个数字:星期   每周的第几天执行        0-6
其他:要执行的命令
例如,如果想在每天的2点执行上述命令,其格式为:
0 2 * * * data >> /home/chen/mydata
(3)设置调度多个任务
在设置调度多个任务时,不推荐使用上述方法,因为将所有的命令都写到/etc/crontab中会让人感觉很混乱,可以通过先将命令写成一个可执行文件,然后再通过crontab调用这个可执行文件来实现(即shell编程)。
例如在将时间写入一个文件之后,再将该文件拷贝到其他目录中
首先在/home/chen目录下新建一个文件:vi test.sh
然后输入对应的命令:
data >> /home/chen/mydata
cp /home/chen/mydata /root/
然后再:crontab –e
添加一行代码:
0 2 * * *  /home/chen /test.sh
(4)终止任务调度命令: crontab –r
(5)显示当前任务调度命令: crontab –l
-------------------华丽的分割线--------------------
这里需要注意的是由于使用vi新建的文件默认情况下并不具备可执行的权限,所以还需要修改一下test.sh文件的权限,执行下面的命令:
chmod 744 test.sh
这样便为他赋予了可执行的权限
这里可以通过命令 ls –l 查看文件具有什么样的权限:
ls –l
-rw-r—r—  (10个字符)
第一个‘-’表示文件类型(-表示普通文件)
后面三个表示文件的所有者对该文件的权限:
r 表示可读用4表示;  w表示可写 用2表示; x表示可执行 用1表示
7=4+2+1 就表示他拥有所有的权限
再后面三位表示所在组用户对该文件的权限
最后三位代表其他组的用户对该文件的权限

喜欢0 评分0
游客

返回顶部