Linux之计划任务

at, batch, crontab

计划任务特性

1. 需要在指定的某时间段运行
2. 需要将任务结果邮件通知用户
3. 单次任务及循环任务区别

Linux计划任务的实现工具

1. at工具
  • 其只能执行一次性任务
  • 其会自动加载部分环境变量
  • 可以执行命令
  • 可以执行脚本
  • 作业有队列,用单字母表示,默认为a队列
  • 作业计划任务是以绝对序列值进行排序
  • 任务结果会以邮件的形式通知用户
2. batch工具
  • 其使用方法与at工具类似
  • 最大的区别为:它会选择系统在比较空闲的时间段执行任务
3. crontab命令
  • 其可以循环执行任务,实现周期性任务
  • 最小时间单位为分钟,如果需要到级别,需要你是用外部机制
  • 可以执行命令
  • 可以执行脚本
  • 每次的任务都会发送邮件至用户通知
  • 其依赖于crond守护进程及相关辅助工具,cronie是其主程序包

一、at工具

synopsis: at [OPTIONS]...time

  • [time]格式

    • HH:MM[YYYY-mm-dd]
      • 20:10 2015-10-30
    • noon : 正午
    • midnight : 午夜
    • teatime : 下午4点
    • tomorrow : 明天
    • now +# UNIT
      • UNIT: min,hours,days,weeks
  • [options]

    • -l : 列出任务队列,相当于atq命令
    • -f FILE : 从指定文件中读取作业任务,不用交互式输入
      • at -f at.sh now+5min
    • -d # : 删除任务
      • at -d 3 == atrm 3 :删除第3号任务
    • -c # : 查看指定任务的内容
    • -q a|b|c|d : 指定默认队列

二、crontab工具

cron任务的分类
  • 系统cron任务
    • 配置文件
      • /etc/crontab
    • 配置命令
      • 直接编辑/etc/crontab文件
  • 用户cron任务(root用户也不例外)
    • 配置文件
      • /var/spool/cron/USERNAME
    • 配置命令
      • crontab -e
/etc/crontab文件的格式
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed
  • 每一行定义一个周期性任务
  • 此处的环境变量不同于用户登录后获得的环境,因此,建议命令使用绝对路径,或自定义path环境变量
  • 执行结果邮件发送给想着用户,即mailto=中定义的用户
  • 普通用户不需要定义mailto参数,因为他的任务文件就以用户名命名
  • 共7个字段
  • 如果命令中有%这类的符号,需要转义,但旋转到单引号中的不用转义
crontab命令:

synopsis - crontab [-u user] [-l | -r | -e] [-i] [-s]

  • [options]
    • -e : 编辑任务,建议使用crontab -e,这样可以帮忙检查其错误
    • -l : 列出所有任务
    • -r : 移除所有任务,即删除对应/var/spool/cron/USERNAME文件
    • -i : 交互式,在使用-r删除所有用户时,提示用户确认
    • -u USER : root用户可以为指定的用户管理、指定任务
注意:运行结果会以邮件方式通知当前用户,如果拒绝接收邮件,可以会导致未备份成功却没有任何消息反馈的情况,建设如下操作:
  • COMMAND > /dev/null : 将正确结果删除,只返回错误输出并发送邮件至用户
  • COMMAND &> /dev/null : 不建议此操作
  • 指定的某任务在指定的时间因关机未能执行,下次开机不会自动执行
  • 如果某时间点因故未能按时执行,下次开机后无论是否到了相应时间点,都要补充执行一次,可使用anacron实现

练习:

  1. 每12小时备份一次/etc目录至/backups目录中,保存格式为etc-yyy-mm-dd-hh.tar.xz”
    • 01 */12 * * * root tar Jcf /backups/etc-$(date +"\%F-\%H-\%S").tar.xz /etc/
  2. 每周2、4、7备份/var/log/secure文件至/logs目录中,文件名格式为 secure-yyyymmdd
    • 01 09 * * 2,4,7 root tar Jcf /logs/secure-$(date +"\%Y\%m\%d") /var/log/secure
  3. 每两个小时取当前系统/proc/meminfo文件中以S或M开头的行信息追加至/tmp/meminfo.txt文件中
    • 01 */2 * * * root grep '^[M\|S]' /proc/meminfo > /tmp/meminfo.txt
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,183评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,850评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,766评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,854评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,871评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,457评论 1 311
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,999评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,914评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,465评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,543评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,675评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,354评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,029评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,514评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,616评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,091评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,685评论 2 360

推荐阅读更多精彩内容

  • Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。...
    孙燕超阅读 1,825评论 0 4
  • 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (cro...
    Zcclucky阅读 578评论 0 0
  • Linux 系统提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond是linu...
    happeace阅读 1,776评论 0 53
  • Linux定时任务Crontab命令详解linux 系统则是由 cron (crond) 这个系统服务来控制的。L...
    时待吾阅读 401评论 0 0
  • 13岁的时候初生牛犊不怕虎,到处混,阴差阳错撞上了一个私人的“即兴演讲”。那时就冲着奖品,胆汁型的小妹我勇敢地挑战...
    情长浪迹阅读 373评论 0 0