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。
linux(centOS7)的基本操作(四) 定时任务——crontab的更多相关文章
- linux(centOS7)的基本操作(六) 进程管理
进程的概念 1. 在linux系统中,每一段执行的程序都称为一个进程,被分配一个进程编号(id). 2. 每个进程都对应一个父进程,一个父进程可以复制多个子进程. 3. 一个进程可能以两种方式存在:前 ...
- linux(centOS7)的基本操作(三) 用户、组、权限管理
用户和组 1.用户.组.家目录的概念 linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号.组类似于角色,系统可以通过组对有共性的用户进行统一管理.每个用 ...
- linux(centOS7)的基本操作(一) 概述
linux服务器的连接 1.连接 window环境下需要安装XShell.XFtp等软件,暂时不表: macOS环境下直接用ssh命令登录即可,用以下任意一种 ssh [-p port] userna ...
- linux(centOS7)的基本操作(七) 其它
本地与linux服务器之间的文件传输 本地下载的文件,如果想在远端的linux服务器上执行,需要文件传输.如果本地使用windows系统,则借助XFTP软件的图形界面即可.如果本地使用macOS系统, ...
- linux(centOS7)的基本操作(五) 磁盘、分区、挂载、卸载
linux的磁盘类型和分区简介 linux的磁盘分为IDE和SCSI,目前以后者居多. 1. IDE磁盘的分区:hd+盘号+分区数字 盘号 |-a:基本盘 |-b:基本从属盘 |-c:辅助主盘 |-d ...
- linux(centOS7)的基本操作(二) 目录和文件管理
1.显示当前工作目录的绝对路径 pwd 2.显示当前工作目录下的子目录和文件 ls [-l] [-h] [-a] 如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表 ...
- 【转帖】Linux定时任务Crontab命令详解
Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...
- Linux定时任务Crontab命令详解_转
转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...
- linux 中的定时任务crontab使用方法
linux 中的定时任务crontab使用方法: 切换到root用户,sudo su root (可以设置成不需要输入密码) sudo su - (需要输入当前帐号的密码才能进入.) crontab ...
随机推荐
- python jdbc连接 oracle 数据库
准备写一个代码生成的小工具自己用,第一步,连接数据库 import jaydebeapi url = 'jdbc:oracle:thin:@192.168.0.13:1521:JGD' user = ...
- 跟着动画来学习TCP三次握手和四次挥手
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 点我查看如何应对面试中的三次握手.四次挥手 本篇尝试使用动画来对 ...
- keras训练大量数据的办法
最近在做一个鉴黄的项目,数据量比较大,有几百个G,一次性加入内存再去训练模青型是不现实的. 查阅资料发现keras中可以用两种方法解决,一是将数据转为tfrecord,但转换后数据大小会方法不好:另外 ...
- Django学习系列9:接着修改首页
现在的功能测试还是失败的,继续修改代码,让其通过.因为HTML现在保存在模板中,可以尽情修改,无需编写额外的单元测试.我们需要一个<h1>元素 修改:lists/templates/hom ...
- maven私仓搭建——nexus3
maven私仓搭建——nexus3本文主要介绍maven私仓在windows下的搭建.本文主要参考:http://www.cnblogs.com/bingyeh/p/5913486.html好,下面上 ...
- **JAVA参数传递方式 (按值传递与引用传递区别)
https://blog.csdn.net/q5706503/article/details/82910428public class TestMain { public static void ma ...
- Spring使用@AspectJ开发AOP(零配置文件)
前言: AOP并不是Spring框架特有的.Spring只是支持AOP编程 (面向切面编程) 的框架之一. 概念: 1.切面(Aspect) 一系列Advice + Pointcut 的集合. 2.通 ...
- BeanUtils对象属性copy的性能对比以及源码分析
1. 对象属性拷贝的常见方式及其性能 在日常编码中,经常会遇到DO.DTO对象之间的转换,如果对象本身的属性比较少的时候,那么我们采用硬编码手工setter也还ok,但如果对象的属性比较多的情况下,手 ...
- jmeter测试报告添加报告生成日期时间
<!-- Defined parameters (overrideable) --><xsl:param name="showData" select=" ...
- QT:圆角设置
Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口.下面分别叙述用这两种方式来实现窗口边框圆角的效果. 一.使用setStyleSheet方法 this- ...