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。

       

  • 相关阅读:
    Xcode8 pod install 报错 “Generating Pods project Abort trap
    适配iOS10 的相关权限设置
    YTKNetworkConfig配置HTTPS请求
    HTTPS学习总结
    设置导航栏nav全透明
    更新 Python 库文件
    有道词典的本地/扩展/离线词库
    三国群英传2修改MOD基础
    添加/删除/修改Windows 7右键的“打开方式”
    Sublime Text安装Package Control
  • 原文地址:https://www.cnblogs.com/dubhlinn/p/11094051.html
Copyright © 2011-2022 走看看