在Linux中使用crontab

查看已存在的任务

查看crontab 输入命令: cat /etc/crontab

在设定编辑之前都建议列出服务查看一下: crontab -l

在Linux中使用crontab

语法:

**** user_name command to be executed
  • 前面五位是定时执行的时间周期 说明如下:

第一个 * 表示分钟:取值范围 0 -59

第二个 * 表示小时:取值范围 0 -23

第三个 * 表示天数:取值范围 1 -31

第四个 * 表示月份:取值范围 1 -12

第五个 * 表示每周:取值范围 0 -6

  • user_name 表示执行定时任务的用户 不指定默认当前用户
  • command to be executed 表示要执行的脚本语句。
  • 组合用法
使用(-)可以划定范围,如:0 0-3 * * *  脚本        表示每天0-3点整执行脚本
使用(,)可以枚举时间,如: 0,15,30,45 * * * * 脚本    表示每个小时的0分,15分,45分,30分会执行脚本
使用(/)可以指定间隔,如:* */8 * * * 脚本         表示每8小时执行脚本
组合用法,0-20/10 * * * * 脚本        表示在前20分钟内每隔10分钟执行脚本
本人的一个定时脚本语句,5 20 * * * /usr/local/bin/kubectl rollout restart deployment identity-deployment 每天20点5分重启k3s服务
  • 示例:
使用(-)可以划定范围:0 0-3 * * *  脚本        表示每天0-3点整执行脚本
使用(,)可以枚举时间: 0,15,30,45 * * * * 脚本    表示每个小时的0分,15分,45分,30分会执行脚本
使用(/)可以指定间隔:* */8 * * * 脚本         表示每8小时执行脚本
组合用法:0-20/10 * * * * 脚本        表示在前20分钟内每隔10分钟执行脚本
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

步骤:

方法一:

touch crontab.txt
将上面的cron job 复制到 crontab.txt 保存
让crontab生效:crontab /xxx/crontab.txt
重启crond

方法二:

直接  crontab -e  编辑crontab
按 i 进入编辑
将上面的cron job复制
Esc 退出
:wq 或 shift + zz
重启crond

常用命令:

crontab -u //设定特定用户的定时服务
crontab -l //列出当前用户定时服务内容
crontab -r //删除当前用户的定时服务
crontab -e //编辑当前用户的定时服务

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看crond状态

你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start

查看cron执行日志:cat /var/log/cron
  • 如果最后带^M 则需要设置一下编码
vi crontab.txt    :set ff=unix

注意:

1.crontab.txt中的内容最后一行需要换行,因为crontab.txt中的内容是通过outputstream写入的

2.java和linux系统级的区别

Java的Quartz任务(有秒)
0 1 20 * * ? /usr/local/bin/kubectl rollout restart deployment basedata-deployment

linux系统的crontab(没有秒)
1 20 * * * /usr/local/bin/kubectl rollout restart deployment basedata-deployment

Original: https://www.cnblogs.com/JimmyThomas/p/16348282.html
Author: JimmyThomas
Title: 在Linux中使用crontab

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613123/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2022-08-15 – 初识MySQL

    MySQL数据库 数据库 数据库,又称为Database,简称DB。数据库就是一个文件集合。顾名思义:是一个存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据,…

    数据库 2023年5月24日
    064
  • mysql主从搭建

    mysql主从搭建 环境:ubuntu20.04.1,mysql:8.0.22。主:192.168.87.3备:192.168.87.6 安装数据库 sudo apt-get in…

    数据库 2023年6月11日
    068
  • 【Java基础】– FileUtils工具类常用方法

    1.FileUtils介绍 文件IO是我们日常项目中经常使用到的基础API,常见的IO读写操作基础类字节流InputStream与OutputStream、字符流Reader与Wr…

    数据库 2023年6月6日
    0345
  • MySQL8.0 InnoDB并行执行

    概述 MySQL经过多年的发展已然成为最流行的数据库,广泛用于互联网行业,并逐步向各个传统行业渗透。之所以流行,一方面是其优秀的高并发事务处理的能力,另一方面也得益于MySQL丰富…

    数据库 2023年6月9日
    081
  • Spring AOP

    AOP简介: 面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。 *作用:在不惊动原始设计的基础上为其进行功能增强。 AOP核心概念 (1)Aspec…

    数据库 2023年6月16日
    076
  • 基于mybatis的java代码生成存储过程

    1 — — powered by wanglifeng https://www.cnblogs.com/wanglifeng717 2 DROP PROCEDURE IF EX…

    数据库 2023年5月24日
    073
  • 2022-08-19 PreparedStatement

    PreparedStatement接口是 Statement的子接口,它表示一条预编译过的SQL语句 什么是SQL注入 SQL注入是利用某些系统没有对用户输入的数据进行充分的检查,…

    数据库 2023年5月24日
    083
  • Linux进程管理

    进程管理 基本概念介绍 进程和线程 进程: 一个在内存中运行的应用程序,每一个进程都有自己独立的一块内存空间,并被分配一个ID号(PID),在Windows下可以打开任务管理器查看…

    数据库 2023年6月16日
    0100
  • Spring Boot 入门

    一、 Spring Boot 入门 1、Spring Boot 简介 简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案; 2、微…

    数据库 2023年6月6日
    0138
  • 有趣的特性:CHECK约束

    功能说明 在MySQL 8.0.16以前, CREATE TABLE允许从语法层面输入下列 CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0.16…

    数据库 2023年5月24日
    046
  • ImageIo.read 返回null

    一、问题描述 今天收到一个bug就是imageio读取图片会返回null,具体如下 但是其他的图片就没有问题 二、问题分析 结合百度发现这张图片原本的后缀并非是jpg,使用notp…

    数据库 2023年6月6日
    083
  • Vmware 虚拟机连接外网和设置固定IP

    NAT 模式(地址转换模式) 在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,虚拟机借助NAT功能,通过…

    数据库 2023年6月14日
    096
  • Windows界面个人常用快捷键

    分享一下个人常用快捷键。 说明:字母排序规则遵循字母表(a->z) 快捷键 介绍 windows+d 由当前应用直接返回桌面,再按一次回到应用 windows+e 打开文件资…

    数据库 2023年6月14日
    097
  • 一文说透 MySQL JSON 数据类型(收藏)

    JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 相对字符类型,原生的 JS…

    数据库 2023年5月24日
    067
  • MySQL知识点大全!!

    使用PreStatement对象: public int execUpdate(String sql, Object[] parms) { int count = 0; try {…

    数据库 2023年5月24日
    074
  • MySQL之视图、触发器、事务、索引及其他知识补充

    一、视图 视图是将SQL语句的查询结果当做虚拟表实体化保存起来,以后可以反复使用 create view teacher2course as select * from teach…

    数据库 2023年5月24日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球