美文网首页
Linux下的任务计划

Linux下的任务计划

作者: CurryCoder | 来源:发表于2019-03-01 09:08 被阅读0次

一、crontab的使用

    1. crontab简介
    • crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。通常,crontab存储的指令被守护进程激活,crond为其守护进程,crond常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。
    • 通过crontab命令,可以在固定的间隔时间执行指定的系统指令或shell脚本程序。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。
    1. crontab使用
    • 通过下面的一个命令来添加一个计划任务:
      crontab -e
    • 第一次启动会出现提示界面,需要选择编辑的工具,输入/usr/bin/vim/basic对应的数字,来选择比较熟悉的vim编辑器。出现的vim编辑器有crontab文档编辑的介绍,具体的格式与参数可见下图:


      crontab使用.png
    • 点击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下的任务计划

    一、crontab的使用 crontab简介crontab命令常见于Unix和类Unix的操作系统之中,用于设置周...

  • linux任务计划cron、Linux系统服务管理-chkcon

    linux任务计划cron linux任务计划cron crontab的配置文件MAILTO表示发送邮件给谁 进入...

  • 论linux下计划任务

    小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢? 今天思梦php...

  • Linux任务计划

    一、Linux任务计划、周期性任务执行 二、at任务 1.at命令 2.at任务 三、周期性任务计划cron 1....

  • Linux任务计划

    任务计划: 1、在未来的某个时间点执行一次某任务; at batch at 时间 at> COMMAND ...

  • Linux 任务计划

    at 在指定时刻执行程序,输入 Ctrl + D 退出 at 命令 at 22:10at 22:10 tomorr...

  • 在 Mac 上使用 crontab 服务

    1. crontab介绍 crontab 是 linux 下的定时任务工具,类似于Windows系统中的任务计划程...

  • 20.Linux中的计划任务

    Linux中的计划任务At单次执行计划任务cron 计划任务的使用计划任务:在某个时段自动执行某个任务。 Linu...

  • 13. Oozie介绍

    1. Hadoop常见调度框架: (1)Linux Crontab:Linux自带的任务调度计划,在任务比较少的情...

  • Linux 计划任务

    Linux 计划任务 crontab 执行Python脚本(以Postgresql为例,自动下架过期商品): Py...

网友评论

      本文标题:Linux下的任务计划

      本文链接:https://www.haomeiwen.com/subject/jnsruqtx.html