精华内容
下载资源
问答
  • Linux cron任务调度

    2020-05-08 20:53:55
    任务调度:是指系统在某个时间执行的特定的命令或程序。相当于Windows任务管理器。 任务调度分类: 系统工作:有些重要的工作必须周而复始地执行。...设置任务调度文件:/etc/crontab 设置个人任务调度。执行 c

    任务调度:是指系统在某个时间执行的特定的命令或程序。相当于Windows任务管理器。
    任务调度分类:

    1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
    2. 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份

    语法:crontab [选项]

    • -e:编辑定时crontab任务
    • -l:查询crontab任务
    • -r:删除当前用户所有的crontab任务
    • service crond restart:[重启任务调度]

    设置任务调度文件:/etc/crontab
    设置个人任务调度。执行 crontab –e 命令。接着输入任务到调度文件
    例如:

    */1 * * * * ls –l /etc/ > /tmp/to.txt

    意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令
    参数说明:
    在这里插入图片描述
    特殊符号说明:
    在这里插入图片描述
    案例:
    在这里插入图片描述
    案例:每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件

    1. 先编写一个文件 /home/mytask1.sh
      date >> /tmp/mydate
    2. 给 mytask1.sh 一个可以执行权限chmod 744 /home/mytask1.sh
    3. crontab -e
    4. */1 * * * * /home/mytask1.sh
    展开全文
  • cron是一个Unix系统下的配置任务调度的工具。这个工具可以周期性或者是以一个固定间隔运行命令或者脚本。 命令crontab是用于编辑操作中的任务列表,这些列表是基于各自用户的,也就是说每个用户,包括root用户都...

    cron是一个Unix系统下的配置任务调度的工具。这个工具可以周期性或者是以一个固定间隔运行命令或者脚本。

     

    命令crontab是用于编辑操作中的任务列表,这些列表是基于各自用户的,也就是说每个用户,包括root用户都有自己的crontab。

     

    需要在系统中周期性或者是以一个固定间隔执行命令或者脚本的话,需要使用crontab -e的命令编辑这个工具,第一次执行这个命令的时候会提示选择一个编辑器,根据自己的喜好选择即可。

    添加任务的方式:

     

    如:

    每天晚上的凌晨执行脚本/home/pi/backup.sh,可以按如下方式添加:

    0 0 * * * /home/pi/backup.sh

    如果想系统每次启动都执行一次/home/pi/myscript.py,按如下的方式添加:

    @reboot python /home/pi/myscript.py

    如果想让这个脚本一直在后台执行这个脚本只需要在末尾加上空格和&:

    @reboot python /home/pi/myscript.py &

     

    需要查看当前用户crontab中添加了哪些任务内容,使用如下命令:

    crontab -l

    展开全文
  • cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。新增调度任务推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/...

    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。

    新增调度任务推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cron文件),退出后重启crond进程,虽然官方文档描述为“crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。”,但我曾经遇到不重启无法运行任务的情况(也许因为某些系统crontab是读到内存中的,修改完/etc/crontab后并没有马上执行),可以使用如下方式重新启动cron服务或重新加载cron配置

    /etc/rc.d/init.d/crond   restart

    service cron reload

    同样,我们也可以直接修改/etc/crontab文件来新建任务,/etc/crontab文件内容默认如下:

    SHELL=/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin

    MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

    HOME=/ //使用者运行的路径,这里是根目录

    # run-parts

    01   *   *   *   *     root run-parts /etc/cron.hourly         //每小时执行/etc/cron.hourly内的脚本

    02   4   *   *   *     root run-parts /etc/cron.daily           //每天执行/etc/cron.daily内的脚本

    22   4   *   *   0     root run-parts /etc/cron.weekly       //每星期执行/etc/cron.weekly内的脚本

    42   4   1   *   *     root run-parts /etc/cron.monthly     //每月去执行/etc/cron.monthly内的脚本

    注意• "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

    • /etc/cron.hourly/,/etc/cron.daily/、cron.weekly/、/cron.monthly/   存放着系统预先制定的cron任务

    /etc/crontab文件语法如下:

    Minute     Hour   Day    Month  Dayofweek      command

    分钟         小时     天        月         天每星期           命令

    每个字段代表的含义如下:• Minute             每个小时的第几分钟执行该任务

    • Hour               每天的第几个小时执行该任务

    • Day                 每月的第几天执行该任务

    • Month             每年的第几个月执行该任务

    • DayOfWeek     每周的第几天执行该任务

    • Command       指定要执行的程序

    在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。

    同时,cron支持类似正则表达式的书写,支持如下几个特殊符号定义:

    • "*"代表取值范围内的数字,

    • "/"代表"每",

    • "-"代表从某个数字到某个数字,

    • ","分开几个离散的数字

    举例如下:

    5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令

    30     5       *           *     *     ls             指定每天的 5:30 执行ls命令

    30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令

    50   7       *             *     *     root     run-parts     /etc/cron.daily   每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件[注:run-parts参数表示,执行后面目录中的所有可执行文件,如果单独执行某个脚本的话,是不需要增加run-parts参数的。]

    服务管理

    service cron start //启动服务

    service cron stop //关闭服务

    service cron restart //重启服务

    service cron reload //重新载入配置

    命令选项-u指定一个用户,

    -l列出某个用户的任务计划

    -r删除某个用户的任务

    -e编辑某个用户的任务

    如:

    crontab -u //设定某个用户的cron服务

    crontab -l //列出某个用户cron服务的详细内容

    crontab -r //删除没个用户的cron服务

    crontab -e //编辑某个用户的cron服务

    任务分类• 系统工作:系统周期性所要执行的工作,如备份系统数据、清理缓存,系统工作一般都定义在/etc/crontab文件中

    • 个人工作:某个用户定期要做的工作,如清理3天前的文件

    cron用户限制我们可以对不同用户设置限制,比如允许user1使用cron服务,而user2不允许使用cron服务;可以通过编辑如下两个文件实现这个策略:

    • /etc/cron.deny    被记录在此的用户不能使用cron任务

    • /etc/cron.allow   被记录在此的用户可以使用cron任务

    注意:如果两个文件都不存在,则默认所有用户均可以使用cron服务

    其它:• /var/spool/cron/   该目录下存放所有用户的cron服务

    • /var/log/cron   记录cron运行的日志信息

    展开全文
  • 但是一旦把它调度cronjob 里,往往不执行。这个里面一个主要的原因 就是: 没有设置好操作系统的环境变量。 java程序的执行,依赖于JDK的类路径,以及自己定义的类路径。 那么一个好的设置步骤是: 在 操作系统...

    有的时候,在 linux下,写一个sh 脚本,里面执行java程序。往往直接运行它,没什么问题。

    但是一旦把它调度在cronjob 里,往往不执行。这个里面一个主要的原因 就是: 没有设置好操作系统的环境变量。java程序的执行,依赖于JDK的类路径,以及自己定义的类路径。

    那么,一个稳妥、优雅的设置步骤是:

    • 在 操作系统的 /etc/profile里设置好,公用的类的路径和环境变量,核心就是 export 语句和 $ 引用符
    • 写调度脚本 /app/job/run.sh
    # source语句非常重要的,对于很多操作系统,有了这句,就能正确获取系统的jdk环境变量设置
    #加了,则非常通用,万无一失
    
    source /etc/profile
    
    date
    
    #定义一个自己当前程序用到的环境变量: libPath
    export libPath=/app/job
    
    #echo $libPath
    
    echo '----------------begin job'
    
    #根据上面的环境变量来设置classpath.
    
    export CLASSPATH=$CLASSPATH:.:$libPath/bin:$libPath/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar:$libPath/lib/fastjson-1.2.35.jar:$libPath/lib/mysql-connector-java-5.1.44.jar
    
    #执行主调度java程序 
    java job.Sync
    
    echo '----------------end job'
    
    •  
    • 写crontjob,每一分钟调度一次
    crontab -e
    
    */1 * * * * . /app/job/run.sh >> /app/job/job-cron.log
    
    # 点号  . 表示 执行 某sh,也可以用sh 代替。
    

     

    展开全文
  • 导读:cron 是一个调度守护进程,它以指定的时间间隔执行任务,这些任务称为 corn 作业,主要用于自动执行系统维护或管理任务。本文字数:3579,阅读时长大约:4分钟https://...
  • Linux-任务调度cron

    2020-03-27 17:44:49
    linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制...
  • 日志滚动与cron调度

    2018-08-27 20:47:00
    日志滚动与cron调度 1、日志滚动 nginx默认日志不能进行滚动,始终写入到一个文件中,即access.log。编写日志滚动的shell脚本,并使用linux的cron定时调度周期性进行日志文件滚动。 1.1 编写滚动脚本 创建roll_log....
  • linux 定时任务调度Cron的用法详解 本文介绍下,在linux中定时调度命令,执行定时任务的具体方法,有需要的朋友,可以参考学习下。在linux中,推荐使用crontab -e命令添加自定义的任务,退出后重启...
  • linux系统中的调度周期任务:cron主要概念cron工具用来调度经常重复的任务crontab命令是编辑crontab文件的一个前端程序crontab文件使用5个字段来规定计时信息cron作业中的标准输出会作为邮件寄给用户执行周期任务人们...
  • Backup-cron是基于GNU工具和Cron调度程序使用的极简备份副本生成系统。 Backup-cron是根据发行的免费软件 特征 该脚本集具有以下特征: 使用GNU tar打包。 使用Bzip2压缩。 通过Cron进行每日或每周计划。 备份...
  • Linux例行性工作调度cron

    千次阅读 2017-03-01 16:45:43
    什么是例行性工作?比如太阳每天从东方升起,...Linux例行性工作分一次性的(at)和循环执行的(cron),本篇博客探讨的就是循环执行的例行性工作。 它主要分为两类:用户级用户想要建立自己的循环性工作调度时,使用
  • cron格式:分 时 日 月 周 每隔5分钟执行1次: /5 * echo hello > /tmp/x.log 每隔1-5分钟执行1次: 1-5 echo hello > /tmp/x.log 每天10点整、22点整执行1次: 0 10,22 * echo hello > /tmp/x.log 每隔1-...
  • 最近由于任务需要,博主又研究了下Linux的任务调度机制。 主要参考 《鸟哥的私房菜》 Linux的任务调度机制主要分为两种: 1. 执行一次:将在某个特定的时间执行的任务调度 at  2. 执行多次: 多次执行 crontab ...
  • tail -f /var/log/cron 显示任务调度 bash#crontab -u username -l 编辑 bash#crontab -u username -e 内容: * * * * * commandLine 含义: #分钟0-59 | 小时0-23 | 日期1-31 | 月份1-12 | ...
  • linux工作调度 at、cron

    2016-05-16 16:44:56
    Linux 工作调度的种类: at 、 cron at:可以处理仅执行一次就结束调度的命令 crontab:这个命令所设置的工作将会循环一直进行下去   并非所有的Linux distribution都会默认将at 打开: 启动方式:  /etc/...
  • Linux服务器Cron计划任务

    千次阅读 2017-01-22 18:06:02
    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于CronLinux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务
  • 一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同 ,像我的虚拟机里只需用 sudo service cron ...
  • Linux任务调度(二)—cron

    千次阅读 2014-02-23 17:47:43
    本文是《Linux任务调度》的第二部分,主要说明Linux中周期性任务调度的实现方法。 循环运行的周期性工作排程 相对於 at 是仅运行一次的工作,循环运行的周期性工作排程则是由 cron (crond) 这个系统服务来控制的...
  • 推荐使用crontab -e命令添加自定义的任务,退出后重启crond进程,虽然官方文档描述为“crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作”
  • 原文链接:http://www.kiiyi.com/linux-cron.php crontab log查看 vi /var/log/cron 有很多同学在购买VPS之后,需要用到计划...cron是一个linux下 的定时执行工具 ,可以在无需人工干预的情况下运行作业。由于Cron
  • linuxcron表达式

    2019-09-04 14:17:35
    https://www.cnblogs.com/GarfieldTom/p/3746290.html
  • Linux操作系统定时调度系统Cron介绍

    千次阅读 2009-12-26 23:15:00
    Linux操作系统定时调度系统Cron介绍 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。新增调度任务 推荐使用crontab -e命令...
  • Linuxcron任务

    2015-09-15 10:22:56
     crontab命令的功能是在一定的时间间隔调度一些命令的执行。 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 [root@cdh-node3...
  • Linuxcron介绍

    2013-09-23 09:47:09
    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。 新增调度任务 推荐使用crontab -e命令添加自定义的任务(编辑的是/var/...
  • 使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab 查看文档 原有的延时任务拆分为独立项目延迟队列 功能特性 Web界面管理定时任务 crontab时间表达式, 精确到秒 任务执行失败可重试 任务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,404
精华内容 5,361
关键字:

linux设置cron调度

linux 订阅