码迷,mamicode.com
首页 > 系统相关 > 详细

linux中计划任务管理

时间:2018-04-15 22:58:34      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:at命令   crontabml   一次性计划任务   周期性任务   计划任务   

在linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份数据、定期开启服务等)。

RedHat 6.5系统中的计划任务是由at、crontab命令进行计划任务的设置,其中at命令为一次性计划任务,crontab命令是周期性的计划任务。
(1) at命令(一次性的执行任务)
使用at命令设置的计划任务只在指定的时间点执行一次,前提是需要开启atd系统服务,需要设置计划任务的时间、日期必须在当前系统的时间之后,否则将无法正确设置计划任务。
设置一次性计划任务时,在at命令行中一次指定计划执行任务的时间、日期作为参数(若只指定时间则表示当天的时间,若只指定日期则表示该日期的当前时间),确认后将进入带“at>”提示符的任务编辑界面,每行设置一条执行命令,可以依次设置多条语句,最后按Ctrl+D组合键提交任务即可。

示例:计划明天22:00时自动关闭当前系统
技术分享图片
对于已经设置计划任务但是并未执行的计划任务,可以通过atq命令进行查询
技术分享图片
若要删除at任务,可以使用atrm命令,删除后的at任务将不会被执行,并且不会显示在atq命令的显示结果中
技术分享图片

(2) crontab命令(周期性重复执行任务)
使用crontab命令设置的计划任务可以按预设的周期重复执行,可以大大减轻设置重复性系统管理任务的操作,由软件包cronie提供crontab工具、系统服务crond和配置文件/etc/crontab.
crotab命令常用选项如下:
-e:编辑计划任务列表
-u:指定所管理的计划任务属于哪个用户,默认时针对当前用户,一般只有root用户有权限使用此选项(用于编辑、删除其他用户的计划任务)
-l:列表显示计划任务
-r:删除计划任务列表

每一行仍无配置记录都包括六个数据字段,分别表示不同的含义,每个字段必须定义,如下图
技术分享图片
其中前五个数据字段可以使用下列符号表示
星号“*”:表示取值范围中的任意时间
减号“-”:表示一个连续的时间范围
逗号“,”:表示一个间隔的不连续范围

示例:每天0:00使用tar命令自动备份/etc/httpd目录

技术分享图片
查看当前用户的计划任务列表
技术分享图片
删除当前用户的计划任务列表
删除某一条计划任务时,可以通过crontab –e进行编辑;若要清空当前用户的所有计划任务时,执行crontab –r命令
技术分享图片


注意事项:
定时任务(一般指脚本任务)规则的结尾最好加上“>/dev/null 2>&1”,即不输出任何信息,若不加,时间长了,会产生大量文件占用大量磁盘inode节点,以至于磁盘inode满而无法写入正常数据。

linux中计划任务管理

标签:at命令   crontabml   一次性计划任务   周期性任务   计划任务   

原文地址:http://blog.51cto.com/10316297/2103708

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!