linux之cron定时任务介绍
前言
linux系统有一个专门用来管理定时任务的进程cron,一般是设置成开机自启动的,通过添加任务可以让服务器定时执行某些任务。
cron介绍
linux系统有一个专门用来管理定时任务的进程cron,一般是设置成开机自启动的,可以通过以下命令查看
ps aux | grep cron
cron进程每隔一分钟会去读取/etc/crontab文件,/etc/cron.d/下的所有crontab文件,/var/spool/cron/下的所有的crontab文件;
/var/spool/cron/:改目录下存放系统的每个用户需要执行的crontab任务,该文件已用户的名字命令,是用户在提交cron任务后自动创建的,一个用户只有一个crontab文件;
/etc/crontab:这是一个crontab文件,里面存放整个系统级别的任务,一般是root用户操作,普通用户不要去修改这个文件;
/etc/cron.d/:该文件夹下一般是系统级别的用来管理其他定时任务的crontab文件;
/var/log/cron这是cron任务运行的日志文件;
所以如果是用户自己的任务会出现在/var/spool/cron/目录下;
# /etc/crontab文件
SHELL=/bin/bash # 指定运行的shell
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # 当/etc/crontab文件中的例行性命令发生错误时,会将错误信息传递给谁,一般改成用户账户,当发生错误时,错误信息发送到/var/spool/mail/下的用户名的文件
# 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
扩展
- 通过ls /etc/ | grep cron命令查看会出现如下几个文件或文件夹:
anacrontab # 这是系统级别的用来管理异步定时任务的文件
cron.d # 系统级别定时任务文件
cron.daily # 每天需要执行的cron任务目录
cron.deny # 定义不允许使用crontab命令的用户文件
cron.hourly # 每小时需要执行的cron任务目录
cron.monthly # 每个月需要执行的cron任务目录
crontab # 这是系统级别的用来管理定时任务的文件
cron.weekly # 每周需要执行的cron任务目录
# 另外还有cron.allow文件,定义允许使用crontab命令的用户,系统默认没有
cron任务的操作
cron工具有一套自己的操作命令可以对用户的cron任务进行自动化的管理。
cron服务的管理
service crond start //启动cron进程
service crond stop //关闭cron进程
service crond restart //重启cron进程
service crond reload //重新载入配置+
service crond status //查看服务状态
- 如果系统不识别service命令就使用/usr/sbin/crond start格式的命令;
crontab任务命令
crontab [-u username] [-l|-e|-r]
选项与参数:
-u :root权限才能进行这个任务,缺省时默认为当前的用户
-e :编辑用户的crontab文件,保存好后会自动提交
-l :查阅当前用户的crontab的工作内容
-r :移除当前用户所有的 crontab 的工作内容,若仅要移除一项,请去修改crontab文件
我们可以使用crontab -e直接编辑我们的定时任务,也可以先编辑一个自定义的creontab文件然后提交;
编辑自己的cron任务
- 第一步:选一个文件夹,比如就在自己想要执行定时任务的应用如redis的安装文件,创建一个脚本文件:
touch test
# 授予该文件可执行权限
chmod +x test
# 编辑文件
vi test
- cron任务的语法;
# 格式
minute hour day-of-month month-of-year day-of-week commands
minute:分钟,范围0--59;
hour:小时,范围0--23;
day-of-month:天,范围01-31;
month-of-year:月份,01-12;
day-of-week:周,范围0-6,(0表示Sunday);
example:
# 每隔五分钟
*/5 * * * * echo "aaaa"
# 每天18点
0 18 * * * echo "aaa"
# 执行目录下的文件
0 18 * * * root run-parts /etc/cron.d/ # 执行目录下的所有文件
- 第二步:提交任务
crontab 文件名
- 第三步:查看任务是否成功提交
crontab -l
注意:每次提交任务是覆盖原来的crontab的文件,所以需要添加更多的cron任务时,修改/var/spool/cron/下的文件。
linux之cron定时任务介绍的更多相关文章
- cron定时任务介绍
什么是cron? Cron是linux系统中用来定期执行或指定程序任务的一种服务或软件.与它相关的有两个工具:crond 和 crontab.crond 就是 cron 在系统内的宿主程序,cront ...
- linux中Cron定时任务系统命令详解
分类:Linux VPS教程 作者:阿川 发布时间:October 13, 2011 有很多同学在购买VPS之后,需要用到计划任务.但是又对计划任务不太了解,所以.今天我们的帮助中心主要是给大家提供一 ...
- linux ,cron定时任务 备份mysql数据库
cron 定时任务执行备份脚本文件 backup.sh #!/bin/bash USER="root" PASSWORD="xxxxx" DATABASE=&q ...
- linux下的cron定时任务知识梳理
1 cron定时任务 1.1 cron介绍 为什么需要cron定时任务? 1)cron服务在安装完Linux系统后就默认就存在,主要用来定期执行命令或定期执行指定的应用程序; 2)cron服务默认情况 ...
- Go cron定时任务的用法
cron是什么 cron的意思就是:计划任务,说白了就是定时任务.我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单. cron表达式 cron表达式是一个好东西,这个东 ...
- cron 定时任务
cron 是linux下的定时任务: M H D m d cmd. 这是一种cron文件格式. M: 分钟(0-59). H:小时(0-23). D:天(1-31). m: 月(1-12). d ...
- Linux下Crontab定时任务的使用教程 以及 无法执行定时任务的解决方案
前言 本文学习思路:Linux的corntab定时任务的使用教程 --> 定时任务无效的解决方案 Linux的corntab定时任务的使用教程 1. 首先,输入命令 打开crontab定时 ...
- 【转】Linux之crontab定时任务命令
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- Linux/Window之定时任务脚本编写
Windows(Win 10) compmgmt.msc[Win+R] > 任务计划程序 > 任务计划程序库 > 创建基本任务 Linux(Ubuntu) 定时任务种类 实现linu ...
随机推荐
- matlab读图函数
最基本的读图函数:imread imread函数的语法并不难,I=imread('D:\fyc-00_1-005.png');其中括号内写图片所在的完整路径(注意路径要用单引号括起来).I代表这个图片 ...
- RT-thread-2.0.1移植(基于STM32F4xx)
1.将下载的rt-thread-2.0.1解压后,得到如下图所示的文件列表. 在bsp目录下可以找到stm32f40x文件夹,这文件夹里面包括了库函数,其他芯片平台的文件夹统统删掉.在libcpu下, ...
- 【bzoj3110】[Zjoi2013]K大数查询 权值线段树套区间线段树
题目描述 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c.如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数 ...
- sql批量更新关系型数据库
更改gb_groupd里的chargingrulesname的值UPDATE tb_group SET tb_group.chargingrulesname =tb_chargingrules.c ...
- 计蒜客 17417 Highest Tower(思维+图论)
题解: 实际上一个可行解即选取长和宽的一个,使得最后每一组选第一维的数值都不同 在此基础上,使得另一维的和最大. 然后建立图论模型 对于每一个方块,在a和b之间连边. 对于选择的方案,如果选择a-&g ...
- VS2017常用快快捷键
VS2017常用快快捷键 VS中代码对齐等快捷键 在VS中,选定代码后,按Ctrl+K+F组合键,可以自动进行代码对齐. 注意:要先按下Ctrl和K,再按下F,因为Ctrl ...
- BZOJ2724:[Violet 6]蒲公英——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2724 输入格式 第一行两个整数n,m,表示有n株蒲公英,m次询问. 接下来一行 n 个空格分隔的整数 ...
- NOIP2016Day1T3换教室(floyd+期望dp)
啊...这个时间写博客,明天还要上学,整个人都不好了... 这是我写的第一道期望题hiahiahia... 题目大意就不说了QWQ 80分儿做法:先floyd,爆搜枚举哪些点取,求出答案,效率O(C( ...
- Linux之socket套接字编程20160704
介绍套接字之前,我们先看一下传输层的协议TCP与UDP: TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UD ...
- Android HandlerThread分析
基础概念:HandlerThread 是一个包含 Looper 的 Thread,我们可以直接使用这个 Looper 创建 Handler,本质上还是Thread Handler 必须要和 Loope ...