zoukankan      html  css  js  c++  java
  • Linux创建定时任务

    在 Windows 环境创建定时任务大家都很清楚、很简单。接下来来这篇文章就针对 Linux 环境讲述创建定时任务。
    环境:CentOS 8 、cronie 1.5.2

    一、crontab 使用

    cron是一个linux下 的定时执行工具,

    命令用途
    service crond start 启动服务
    service crond stop 关闭服务
    service crond restart 重启服务
    service crond reload 重新载入配置
    service crond status 查看服务状态

    参数说明
    -u 定义用户 - 只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 crontab 定时任务
    -e 编辑用户的crontab
    -l 列出用户的crontab
    -r 删除用户的crontab - 移除所有 crontab 的内容,若仅要移除某一项,请用 -e 编辑
    -i 删除前的-i提示
    -n 设置集群主机运行用户的crontab
    -c 让主机在集群中运行用户的crontab
    -s selinux上下文
    -V 打印版本并退出
    -x 启用调试

    二、格式

    在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
    每个域之间使用空格或者制表符分隔。

     分钟小时日期月份命令 
    范围 0-59 0-23 1-31 1-12 0-7 echo "hello" >> abc.log  

    三、字符含义

    符号说明
    * (星号) 代表任何时刻都接受
    , (逗号) 代表分隔时段的意思
    - (减号) 代表一段时间范围内
    /n (斜线) 那个 n 代表数字,每隔 n 单位间隔

    四、创建简单任务

    每分钟输出一次当前的时间,输出到用户家目录下的 time.log 文件中。

    # crontab -e
    * * * * * echo `date` >> /home/xxx/time.log
    

    五、配置系统级别的定时任务

    crontab -e 是用来设置用户级别的定时任务的。

    配置系统级别的任务直接使用 root 权限编辑系统级别定时任务的配置文件: /etc/crontab。

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    
    # For details see man 4 crontabs
    
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed
    # m h dom mon dow user    command
    17    *    *       *      *    root    cd / && run-parts --report /etc/cron.hourly
    

    六、实例

    实例1:每1分钟执行一次myCommand

    * * * * * myCommand
    

    实例2:每小时的第3和第15分钟执行

    3,15 * * * * myCommand
    

    实例3:在上午8点到11点的第3和第15分钟执行

    3,15 8-11 * * * myCommand
    

    实例4:每隔两天的上午8点到11点的第3和第15分钟执行

    3,15 8-11 */2  *  * myCommand
    

    实例5:每周一上午8点到11点的第3和第15分钟执行

    3,15 8-11 * * 1 myCommand
    

    实例6:每晚的21:30重启smb

    30 21 * * * /etc/init.d/smb restart
    

    实例7:每月1、10、22日的4 : 45重启smb

    45 4 1,10,22 * * /etc/init.d/smb restart
    

    实例8:每周六、周日的1 : 10重启smb

    10 1 * * 6,0 /etc/init.d/smb restart
    

    实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

    0,30 18-23 * * * /etc/init.d/smb restart
    

    实例10:每星期六的晚上11 : 00 pm重启smb

    0 23 * * 6 /etc/init.d/smb restart
    

    实例11:每一小时重启smb

    * */1 * * * /etc/init.d/smb restart
    

    实例12:晚上11点到早上7点之间,每隔一小时重启smb

    * * 23-7/1 * * * /etc/init.d/smb restart
    

    删除定时任务

    输入crontab -e 打开crontab执行命令

    之后输入进行编辑,直接删除需要删除的定时任务指令之后完成保存即可。

    本文为转载,感谢原作者分享。

    原文地址:https://blog.dwtowen.com/archives/202/

    博客地址:http://www.cnblogs.com/colinliu/
    博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!
  • 相关阅读:
    WHERE col1=val1 AND col2=val2;index exists on col1 and col2, the appropriate rows can be fetched directly
    MySQL 交集 实现方法
    MBProgressHUD的使用
    Xcode4 使用 Organizer 分析 Crash logs(转)
    SimpleXML 使用详细例子
    PHP的XML Parser(转)
    iPhone,iPhone4,iPad程序启动画面的总结 (转)
    Pop3得到的Email 信件格式介绍
    yii总结
    隐藏Tabbar的一些方法
  • 原文地址:https://www.cnblogs.com/colinliu/p/crontab.html
Copyright © 2011-2022 走看看