zoukankan      html  css  js  c++  java
  • linux(centOS7)的基本操作(四) 定时任务——crontab

    概述

    对于Java开发人员,定时任务并不陌生,无非是让系统在特定时间执行特定的命令或程序。例如spring提供的@Scheduled注解、OpenSymphony提供的quartz框架,都可以实现定时任务。在操作系统这个层面,linux也提供了相应的解决方案——crontab命令。

    crontab命令的格式

    crontab [-e] [-l] [-r]

    后面的三个可选项必须选择一项,且只能选择一项。

    -e:编辑定时任务;

    -l:以列表形式显示当前所有的定时任务;

    -r:删除当前所有的定时任务。

    其中,crontab -e会弹出vi编辑器,可以以两种方式写入定时任务:

    1. cron表达式 + 命令

    2. cron表达式 + shell脚本文件

    这里的cron表达式跟https://www.cnblogs.com/dubhlinn/p/10740838.html一文提到的略有不同,最小单位为分钟,且不用问号(?),只能手动去避免日期和星期的冲突。

    直接编辑命令方式建立定时任务

    使用步骤

    1. 执行 crontab -e

    2. 在弹出的vi编辑器中写入:cron表达式、命令,中间以空格间隔

    3. 保存退出

    示例

    例如,每天午夜23点将当前目录下的内容追加到/home/dubhlinn/content.log文件中

    0 23 * * * ls -l >> /home/dubhlinn/content.log

    shell脚本保存命令方式建立定时任务

    使用步骤

    1. 创建shell脚本文件(.sh),在其中写入命令

    2. 对shell脚本文件赋予"执行"权限

    3. 执行 crontab -e

    4. 在弹出的编辑器中写入:cron表达式、shell脚本文件的绝对路径,中间以空格间隔

    5. 保存退出

    示例

    例如每隔15分钟,将当前日期时间追加到/home/dubhlinn/time.log文件中。

    首先,在家目录/home/dubhlinn下创建timer.sh文件,在其中写入:date >> /home/dubhlinn/time.log。

    然后,对刚创建的shell脚本文件,给所有者赋予执行权限:chmod u+x timer.sh。

    最后,执行crontab -e,并在编辑器中写入:*/15 * * * * /home/dubhlinn/timer.sh。

       

  • 相关阅读:
    磁盘IO性能监控(Linux 和 Windows)
    cacti监控linux和windows磁盘IO
    如何重新划分linux分区大小
    OCX控件打包成CAB并实现数字签名过程
    手把手教你用CAB发布OCX的简单办法
    WebLogic 11g重置用户密码
    rxswift的双向绑定
    投资的三个层次:投资的道与术--投资的一级算法
    《DSL》笔记一、什么是DSL(转)
    编程语言与世界观
  • 原文地址:https://www.cnblogs.com/dubhlinn/p/11094051.html
Copyright © 2011-2022 走看看