linux定时执行工具,cron Linux下的定时执行工具

说明:测试平台  Ubuntu 16.04.4 LTS

cron是一个Linux下的定时执行工具,可以在无需人工干预的情况下运行作业。所以,在Linux中,周期性执行的任务一般由cron这个守护进程来处理。cron会读取一个或多个配置文件,这些配置文件中包含了命令行命令及其执行的时间。cron的配置文件成为“crontab”,是“cron table”的简写。

crontab命令用于列出、编辑、删除、安装用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中从而获得执行。每个用户都有自己的crontab文件,其该文件名就是用户名。该存放在路径 /var/spool/cron/crontabs 下。但是 1)该路径经只能通过root权限访问,2)不能再该路径下直接编辑crontab文件,必须用 crontab -e 来编辑。

创建一个周期执行任务的步骤:

第一步  创建crontab文件,有以下2种方式(推荐第一种)。这两种方式创建的crontab文件都可以通过命令 crontab -l 查看,也都可以通过命令 crontab -e 进行编辑。

方式一:执行 crontab -e 命令,如果是第一次执行会让你选择文本编辑器,更换编辑器使用 select-editor 命令,见下图选3或者4即可使用vim编辑。打开之后编辑一条命令,见右图,然后保存。

17a424f36fb83b6ec56c4d0409870e41.png  

fc7f6b3f984daf260445ede85984c452.png

方式二: 1)自己写一个文本文件,名字随便起,但文本内容要遵循crontab的规则。例如新建文件123.txt,在里面写  * * * * echo "This is a test" ,然后保存;

2)添加定时任务,执行 crontab .txt 命令。搞定。

第二步 启动cron服务,执行命令 sudo service cron start

crontab命令的使用及格式

crontab -l # 列出当前用户的crontab

crontab -e # 编辑当前用户的crontab

crontab -r # 删除当前用户的crontab

crontab -ir # 删除当前用户的crontab时提醒用户

在crontab文件中需要指定时间和要执行的命令或者脚本,格式如下:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

第一列 minute 表示分钟: 区间为 0 – 59 每分钟用 * 或者 */1 表示

第二列 hour 表示小时: 区间为 0 – 23

第三列 day-of-month 表示日期: 区间为 1 – 31

第四列 month 表示月份: 区间为 1 – 12. 1 是1月. 12是12月.

第五列 Day-of-week 表示星期: 区间为 0 – 7. 周日可以是0或7.

第六列 表示要运行的命令

除了数字还有几个个特殊的符号:* / - ,

*:代表所有的取值范围内的数字,即代表所有有效的值

/:代表每的意思,用来指定间隔频率, */5 表示每5个单位,

-:代表从某个数字到某个数字,指定一个整数范围,1-4 意味着整数 1 2 3 4

,:分开几个离散的数字,

举例:

每隔1个小时执行一次 ls

0 */1 * * * ls

每隔2个小时执行一次 ls

0 */2 * * * ls

每隔3个小时执行一次 ls

0 */3 * * * ls

每隔4个小时执行一次 ls

0 */4 * * * ls

每隔10天执行一次 ls

0 0 */10 * * ls

每天1点执行 ls

0 1 * * * ls

cron服务的启动和关闭

sudo service cron start # 启动cron服务

sudo service cron stop # 关闭cron服务

sudo service cron restart # 重新启动cron服务

sudo service cron reload # 重新载入状态

sudo service cron status # 查看cron服务

也可以使用如下命令,效果相同

sudo /etc/init.d/cron start # 启动cron服务

sudo /etc/init.d/cron stop # 关闭cron服务

sudo /etc/init.d/cron restart # 重新启动cron服务

sudo /etc/init.d/cron reload # 重新载入状态

sudo /etc/init.d/cron status # 查看cron服务

更多信息:

1)查看cron的manual: $man cron

2)查看crontab的manual: $man crontab

一个简单的linux下设置定时执行shell脚本的示例

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据.数据库数据等 不适合人工经常做的一些操作这里简单说下 shell Shell俗称壳,类似于DOS下的command ...

linux下crontab定时执行本地脚本和定时访问指定url

https://my.oschina.net/u/2487410/blog/683308 使用linux curl命令讲解:http://www.linuxdiyf.com/linux/2800.ht ...

linux下crontab定时执行shell脚本调用oracle 存储过程

问题:脚本内调用存储过程,脚本直接执行没问题,使用crontab 执行脚本存储过程未执行 原因:缺少oracle环境变量 解决:在shell脚本里添加oracle的环境变量 #!/bin/sh PAT ...

如何使用Linux的Crontab定时执行PHP脚本的方法[转载]

首先说说cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 crontab 都被保存在/var/spool/cron 目 ...

linux 下的 crontab 定时任务工具

以下内容转自:https://www.cnblogs.com/longjshz/p/5779215.html 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep c ...

linux下mysql定时备份数据库

linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

【one day one linux】linux下的软件包管理工具

Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...

php 运行linux命令 与 linux下命令行执行php

1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

【调试】Linux下超强内存检测工具Valgrind

[调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ...

随机推荐

ZeroMQ接口函数之 :zmq_curve_keypair - 生成一个新的CURVE 密钥对

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_curve_keypair zmq_curve_keypair(3) ØMQ Manual - ØMQ/4.1.0 ...

Balanced Binary Tree [LeetCode]

Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

将Jquery序列化后的表单值转换成Json

From: https://segmentfault.com/a/1190000000473625 小朋友有一个表单,他想以Json的方式获取到表单的内容.小朋友尝试了以下方式. 通过$(" ...

【二分查找最优解】FZU 2056 最大正方形

题意:现在有一个n*m的矩阵A,在A中找一个H*H的正方形,使得其面积最大且该正方形元素的和不大于 limit. 分析:开始以为是DP或者二维RMQ,其实用二分就可以做出来: 在输入时构造元素和矩阵d ...

POJ 2182 Lost Cows(牛排序,线段树)

Language: Default Lost Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9207   Acce ...

MarkDown的快速入门

简介 简单的去解释MarkDown就是html,但是将html中的元素用符号去代替使用.本文用的编译软件是Atom(神器),不多说直接上图看效果. 语法 文本 列表 区块 分割符 表格 链接 mark ...

android Button上面的英文字符串自动大写的问题解决

xml文件中加入: android:textAllCaps="false"

hadoop 设置回收站

我的问题是:hadoop回收站为什么会保留多个过期时间的数据   我们知道hadoop的回收站是在我们删除数据后能恢复的目录,但是我们并不希望在回收站保存太久的数据,我们可以使用如下参数进行配置.   ...

第一个FPGA工程—LED流水灯

这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...

下载Sourceforge等国内无法下载站点文件的另一种方法

Sourceforge是一些开源软件经常用到的网站,然而国内的网站一直不稳定,如今是可以访问,但是一直无法下载,今天发现了一种新方法那就是http://www.mirrorservice.org 这个 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值