周期性任务计划

相关程序包:

cronie:主程序包,提供了crond守护进程及相关辅助工具

cronie-anacron:cronie的补充程序;用于监控cronie任务执行状况;如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次次任务

crontabs:包含CentOS提供系统维护任务

计划任务守护进程crond运行状态查看方法

CentOS7:

systemctl status crond

CentOS6:

service crond status

编写计划任务两种方式:

  系统计划任务设定:编写配置文件/etc/crontab

  用户计划任务设定:执行# crontab -e 命令。在实际工作中,一般采用此方式设定计划任务

crontab命令常用选项

crontab -l:查看自己的cron任务列表

crontab -e:通过EDITOR变量中定义的编辑器打开用户自己的cron配置文件;编辑单独的任务都使用-e选项,无论是删除、修改还是新建

crontab -r:移除crontab文件,慎用!

crontab -i:同-r一同使用,以交互式模式让用户有选择的删除指定任务

crontab -u UserName:仅root可运行,指定某个用户,需要配合其他选项如-l -e使用例如:#crontab -e -u docker(管理员root用户给docker用户设定计划任务)

计划任务编写格式

时间格式

# 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

时间格式举例:
* * * #每天7点6分
* *   #每月8号 7点6分
* * *   #每月8号7点,每分钟执行
- * * *   #每天7点30-35分,每分钟执行
, * * * *   #每小时的5,35分钟执行
-/ * * * *    #每小时的5-45分钟,每隔三分钟执行一次

时间表示法说明:

(1)特定值:每个时间位都应该使用其可用的有效取值范围内的值;

(2)*:某时间位上的*表示对应位的所有有效取值;

(3)-:连续的时间相邻点取值

(4),:离散的时间点取值 #,#,#

(5)/#:表示在指定时间范围内每隔#一次;

另一种时间格式

@reboot       Run once after reboot   #每次系统重启或者重新开机都执行一次

@yearly         0 0 1 1 *

@annually     0 0 1 1 *

@monthly      0 0 1 * *

@weekly        0 0 * * 0

@daily           0 0 * * *

@hourly         0 * * * *

计划任务编写举例

(1)每3分钟执行一个echo "how are you?"
# crontab -e
*/3 * * * * /bin/echo "how are you?" (2)每周2、4、6备份/etc/目录至/backup目录中,备份的文件名以当前etc_开头并跟上当日的日期作为文件名
# crontab -e
3 2 * * 2,4,6 /bin/tar -Jcf /backup/etc_`date '+%F'` .tar.xz /etc/* (3)周天6、9、12、15、18查看一下当前系统挂载的所有文件系统,并将查看的结果追加至/tmp/mounts.txt文件中
# crontab -e
17 6,9,12,15,18 * * * /bin/mount >> /tmp/mounts.txt (4)每天每两小时取当前系统内存空间余量,将其保存至/stats/memory.txt文件中
# crontab -e
1 */2 * * * /bin/grep "^MemFree:" /proc/meminfo >> /stats/memory.txt

制作定时任务的规范:

1、为定时任务加必要的注释

2、执行shell脚本任务前加/bin/sh

3、默认输出信息会以邮件形式发送到用户,可通过重定向到/dev/null中来拒收邮件

如:1 1 * * * /bin/bash xxxx.sh &>/dev/null

4、定时任务命令或程序最好写到脚本里执行

5、在指定用户下执行相关的定时任务

6、定时任务执行的脚本要规范路径(/server/scripts)

Linu计划任务/crontab命令的更多相关文章

  1. 7.控制计划任务crontab命令

    at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的Linux 系统上面原本就有非常多的计划 性工作,因此这个系统服务是默认 ...

  2. Linux下计划任务:crontab 命令的权限说明

    Linux下的计划任务: 使用crontab命令来执行调度,在 Linux 下可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限,如果 /etc/cron ...

  3. 使用crontab命令添加计划任务

    Ubuntu 16.04, 计划任务 就是 有(时间)计划地执行(做)任务,有计划 包括 定时执行(在哪些时间点执行任务).按照周期执行(每隔多少时间执行任务). 那么,什么是任务呢?就是 自己想要干 ...

  4. Linux运维技术之详解任务计划(crontab命令)

    crontab命令 按照预先设置的时间周期(分钟.小时.天……)重复执行用户指定的命令操作,属于周期性计划任务 (1).先来看一下/etc/crontab文件的内容: [root@localhost ...

  5. 二十三、Linux任务计划及周期性任务执行:at、crontab命令

    一.概述 未来的某时间点执行一次某任务:at, batch周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开启 ...

  6. Linux任务计划及周期性任务执行:at、crontab命令

    一.概述 未来的某时间点执行一次某任务:at, batch 周期性运行某任务:crontab 这两个任务的执行结果:会通过邮件发送给用户 (本地终端用户之间的邮件通知) centos 5,6,7默认开 ...

  7. linux命令:crontab命令(转)

    一.crond简介 二.crond服务 三.crontab命令详解 四.使用注意事项 linux系统是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作 ...

  8. linux下crontab命令的使用

    1.crond crond是Linux下的一个守护进程,与windows下的计划任务类似,当操作系统安装完成后,默认会安装并启动进程,Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统 ...

  9. linux定时执行任务crontab命令用法

    linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...

随机推荐

  1. jQuery+PHP+Ajax动态数字统计展示实例

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: <div ...

  2. 在linux下安装java(centos和ubuntu)

    在本地测试环境安装插件,发现还得用到java,虽说是个程序员,可是没用过java啊,哎,但是插件得用啊,怎么办啊?自己装呗 一.自己的系统:CentOS 7 1.查看CentOS自带JDK是否已安装. ...

  3. HTTPS 学习

    问题 数字签名的作用是什么? 为什么 HTTPS 是安全的 CA存在的动机是什么 客户端的公钥的都是一致的吗? 概述 这一节我们将要讲HTTPS,为什么说HTTPS是安全的,而HTTP是不安全的呢,这 ...

  4. Arrays.asList() 踩坑

    该方法是将  数组转化为list,但转换后的list集合,不支持add 和 remove 代码如下: 阅读相关: 本类演示了Arrays类中的asList方法 (1) 该方法对于基本数据类型的数组支持 ...

  5. 【C语言】将输入的10个整数逆序输出

    代码1: #include <stdio.h> int main() { ], b[]; int i,j; printf("请输入10个整数:\n"); ; i < ...

  6. 【MySQL】外键的变种

    " 目录 三种关系 多对一 多对多 一对一 因为有foreign key的约束,使得两张表形成了三种关系: 多对一 多对多 一对多 重点理解如何找出两张表之间的关系 现在有A.B两张表 分析 ...

  7. P1428

    AC: #include <stdio.h> #define rep(i, a, b) for(int i = a; i <= b; i++) #define min(a, b) ( ...

  8. python基础(三)---Python基础语法

    1. 注释 1.1 单行注释 语法格式: #[空格]说明性文字信息 添加快捷键: Ctrl+/ 取消快捷键: Ctrl+/ 1.2 多行注释 语法格式: """说明性文字 ...

  9. 给博客页面添加 live2d 小萝莉

    添加依赖 在页脚HTML代码的地方添加下面的代码: <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d ...

  10. django之路由分组,路由分发,FBV,CBV,ORM框架

    今日的内容: a. 路由系统 1. 创建app 2. 路由的分组 3. 路由的分发 - 正则表达式匹配 b. django的orm(模型model) 1. 创建模型的步骤 2. orm基本的增删改查 ...