概述

对于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。

linux(centOS7)的基本操作(四) 定时任务——crontab的更多相关文章

  1. linux(centOS7)的基本操作(六) 进程管理

    进程的概念 1. 在linux系统中,每一段执行的程序都称为一个进程,被分配一个进程编号(id). 2. 每个进程都对应一个父进程,一个父进程可以复制多个子进程. 3. 一个进程可能以两种方式存在:前 ...

  2. linux(centOS7)的基本操作(三) 用户、组、权限管理

    用户和组 1.用户.组.家目录的概念 linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号.组类似于角色,系统可以通过组对有共性的用户进行统一管理.每个用 ...

  3. linux(centOS7)的基本操作(一) 概述

    linux服务器的连接 1.连接 window环境下需要安装XShell.XFtp等软件,暂时不表: macOS环境下直接用ssh命令登录即可,用以下任意一种 ssh [-p port] userna ...

  4. linux(centOS7)的基本操作(七) 其它

    本地与linux服务器之间的文件传输 本地下载的文件,如果想在远端的linux服务器上执行,需要文件传输.如果本地使用windows系统,则借助XFTP软件的图形界面即可.如果本地使用macOS系统, ...

  5. linux(centOS7)的基本操作(五) 磁盘、分区、挂载、卸载

    linux的磁盘类型和分区简介 linux的磁盘分为IDE和SCSI,目前以后者居多. 1. IDE磁盘的分区:hd+盘号+分区数字 盘号 |-a:基本盘 |-b:基本从属盘 |-c:辅助主盘 |-d ...

  6. linux(centOS7)的基本操作(二) 目录和文件管理

    1.显示当前工作目录的绝对路径 pwd 2.显示当前工作目录下的子目录和文件 ls [-l] [-h] [-a] 如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表 ...

  7. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  8. Linux定时任务Crontab命令详解_转

    转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...

  9. linux 中的定时任务crontab使用方法

    linux 中的定时任务crontab使用方法: 切换到root用户,sudo su root (可以设置成不需要输入密码) sudo su - (需要输入当前帐号的密码才能进入.) crontab ...

随机推荐

  1. laravel swoole Call to undefined method Illuminate\Events\Dispatcher::fire()

    报错: Call to undefined method Illuminate\Events\Dispatcher::fire() Whoops\Run::handleError("Unca ...

  2. linux 指定ftp用户 特定目录及权限

    Linux添加FTP用户并设置权限   在linux中添加ftp用户,并设置相应的权限,操作步骤如下:  1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建 ...

  3. pamamiko的学习笔记

    pamamiko的学习笔记 Paramiko包含两个核心组件,一个为SSHClient类,另一个为SFTPClient类, 一,paramiko的连接有两种方式,一种是通过paramiko.SSHCl ...

  4. 【bzoj 4318】OSU!

    题意 一个长度为 $n$ 的字符串,第 $i$ 位有 $p_i$ 的概率是 $1$,否则是 $0$.一个字符串的分数定义为:对于字符串中每一个极长的连续一段 $1$,设这段 $1$ 的长度为 $x$, ...

  5. JAVA GUI设

    1.两种设置大小的方式: //Border border1=BorderFactory.createEmptyBorder(20,20,20,20); //设置大小        panel.setB ...

  6. vs code 保存显示无法写入文件的解决方法

    右键文件夹点击属性 选择安全 把当前用户权限都勾选上就可以了

  7. 第二章 Vue快速入门-- 26 过滤器-定义私有过滤器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. mysql5.7.26 基于GTID的主从复制环境搭建

    简单工作原理: (1)从库执行 change master to 语句,会立即将主库信息记录到master.info中 (2)从库执行 start slave语句,会立即生成IO_T和SQL_T (3 ...

  9. 把自己的web项目发布到网页上

    一.首先,登录自己的bce百度云,bce.baidu.com,建立一个自己的网站 点击左边的应用引擎BAE 点击BAE基础版的部署列表,刚开始是没有的,要添加部署 其中的选项只需要写域名(应用名称会和 ...

  10. 再提供一种解决Nginx文件类型错误解析漏洞的方法

    [文章作者:张宴 本文版本:v1.2 最后修改:2010.05.24 转载请注明原文链接:http://blog.zyan.cc/nginx_0day/] 注:2010年5月23日14:00前阅读本文 ...