一、crontab的使用

    1. crontab简介
    • crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。通常,crontab存储的指令被守护进程激活,crond为其守护进程,crond常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。
    • 通过crontab命令,可以在固定的间隔时间执行指定的系统指令或shell脚本程序。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。
    1. crontab使用
    • 通过下面的一个命令来添加一个计划任务:
      crontab -e
    • 第一次启动会出现提示界面,需要选择编辑的工具,输入/usr/bin/vim/basic对应的数字,来选择比较熟悉的vim编辑器。出现的vim编辑器有crontab文档编辑的介绍,具体的格式与参数可见下图:
    • 点击i键,选择编辑器的插入模式,在最后一排输入下面的命令,该任务是每分钟会在/home/cdl目录下创建一个以当前年月日时分秒为名字的空白文件:
      */1 * * * * touch /home/cdl/$(date +%Y%m%d%H%M%S)
    • 注意:%在crontab文件中,有结束命令行、换行、重定向的作用,前面加\符号是转义的作用。否则,%符号将执行其结束命令行或换行的作用,并且其后的内容会被做为标准输入发送给前面的命令。
    • 然后,按esc键退出插入模式,按:进入命令行模式,输入wq回车,退出vim编辑器。此时,可以通过crontab -l查看添加的任务。
    1. 启动cron的守护进程
    • 虽然添加了任务,但是如果cron的守护进程并没有启动,它根本都不会监测到有任务,当然也就不会帮我们执行,可以通过以下两种方法来确定我们的cron是否成功的在后台启动。
      ps aux | grep cron 或 pgrep cron
    • 如果没有则需要手动启动,输入下面的命令:
      sudo cron -f &
    • 后台成功启动后,然后通过ls -l命令查看当前目录的文件,可以看到任务在创建之后便创建了一个当时时间的文件,后续在每分钟的01秒时执行一次我们的任务。
    • 可以通过这样一个命令查看到执行任务命令之后在日志中的信息反馈:
      sudo tail -f /var/log/syslog
    • 当不需要这个任务的时候,可以使用下面的命令去删除任务:
      crontab -r
    • 删除之后再查看任务列表,系统已经显示该用户并没有任务:
      crontab -l

二、crontab的深入

  • 这个crontab -e是针对使用者的cron来设计的,也就是每个用户在添加任务时,就会在/var/spool/cron/crontabs中添加一个该用户自己的任务文档,这样就可以做到隔离、独立,不会混乱。而对于系统的例行性任务,只要编辑/etc/crontab档案就可以了。基本上,cron这个服务的最低侦测限制是分钟,所以cron会每分钟去读取一次/etc/crontab与/var/spool/cron/crontabs里面的资料内容。因此,只要编辑完/etc/crontab这个文档,并且将其存储后,那么cron的设定就自动的执行了。

    • 输入下列命令:
      ll /etc/ | grep cron
    • 可以观察到关于cron的文件:
      /etc/cron.daily,目录下的脚本会每天执行一次,在每天的6点25分时运行
      /etc/cron.hourly,目录下的脚本会每个小时执行一次,在每小时的17分钟时运行
      /etc/cron.mouthly,目录下的脚本会每月执行一次,在每月的1号的6点52分时运行
      /etc/cron.weekly,目录下的脚本会每周执行一次,在每周第七天的6点47分时运行
    • 当然,以上的时间都是系统默认的时间,可以根据自己的需求进行修改,更多信息请用man命令来查看

Linux下的任务计划相关推荐

  1. linux设备负责执行计划任务,linux下定时执行计划任务

    查看/etc/crontab文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 0 ...

  2. Linux下cron周期性计划任务

    前面介绍的at是一次性任务,如果我们要周期性实行任务就要使用cron服务: 查看cron任务是否active: 通过crontab -e进入编辑: 每天的1点.3点.5点执行任务 可以见到任务创建成功 ...

  3. Linux下用at计划任务

    可以在给定时间完成你给的任务: 在一分钟以后,可以看见在root目录下会有info.txt的生成: 任务完成 ps:如果要查看所有at任务,使用at -l 如果要删除某个任务,使用at -d [你要删 ...

  4. Linux下计划任务:crontab 命令的权限说明

    Linux下的计划任务: 使用crontab命令来执行调度,在 Linux 下可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限,如果 /etc/cron ...

  5. linux下的计划任务

    Linux 计划任务     --cron介绍 cron是linux下的计划任务工具,类似于windows的计划任务. 基本原理     守护进程cron加载crontab,并按时执行其中的命令. c ...

  6. Linux下添加计划任务,Linux系统下使用crontab添加计划任务的方法

     在服务器中添加定期执行的任务,在很多情况下是非常必要的.比如,每天清理一次/tmp目录下的文件;没几分钟检查某一守护进程是否正常等等.这样计划任务就显得尤为方便.下面将介绍如何在Linux系统中 ...

  7. linux crontab 每7天,Linux下计划任务神器-Crontab

    作为系统运维人员都清楚,在Linux下定义重复性的任务,我们一般会采用crontab来进行:crontab这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟.小时.每日.每月.每周. cr ...

  8. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  9. linux刷新指定URL脚本,【图片】linux下crontab定时执行本地脚本和定时访问指定url【不要牧师吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 8. 任务调度设置文件的写法 可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/ ...

最新文章

  1. firebug 的使用
  2. MySQL双机热备部署
  3. C++学习笔记第二天:几个知识点
  4. 5G NR PUCCH资源配置
  5. where is Fiori count server execution interval configured
  6. 编程面试题:编写一个会造成数据库死锁的应用
  7. java泛型方法 通配符_Java泛型教程–示例类,接口,方法,通配符等
  8. 软件使用时间限制_利用家长控制限制孩子使用电脑时间,让其只能学习不能玩游戏...
  9. Beyond Compare软件进行代码比对
  10. daemontools安装和使用
  11. 解决UWP应用无法使用本地代理
  12. python实现网页微信登陆_(转帖)网站微信登录-python 实现
  13. 现代JS名词概念系列——函数的纯洁性【龟速翻译】
  14. 人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python
  15. H264(AVC)/H265(HEVC)/H266(VVC):GOP的区别
  16. 教你如何注册winrar~
  17. python语言初学
  18. 云计算——第七天(寒假)
  19. stack overflow常见解决方法
  20. alexa skill+自定义oauth2服务完整版教程(保姆级图文教程附demo源码)

热门文章

  1. jzoj6001. 【PKUWC2019模拟2019.1.15】Mines (tarjan)
  2. com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1问题出现的原因及解决办法
  3. win10下硬盘安装CentOS7
  4. Python之旅.第十章.mysql
  5. 客户服务业热切渴望“按需客户体验”模式
  6. Linux系统下文件与目录权限管理
  7. CISCO HSRP
  8. 机器学习 —— 概率图模型(学习:CRF与MRF)
  9. 适用于OpenGL离屏渲染上下文的初始化代码
  10. 后台取得客户端控件的值(ListBox)