one_day_one_linuxCmd---crontab 命令
《坚持每天学习一个 linux 命令,今天我们来学习 tar 命令》
摘要:crond 是 linux 下用来周期性的执行某种任务或等待处理事件的一个守护进程,周期执行的任务一般由 cron 这个守护进程来处理,可通过命令 ps -ef | grep cron 命令来查看后台是否有相关进程。cron 的配置文件称为 “crontab”,是 cron table 的简写。
环境:Ubuntu16.04 STL
cron 服务
在 Ubuntu 下,该服务名称为 cron 而不是 crond,可通过命令 ps -ef | grep cron 进行查看

$ service cron start // 开启服务
$ service cron stop // 关闭服务
$ service cron restart // 重启服务
$ service cron reload // 重新载入配置
$ service cron status // 查看服务状态
配置文件
1,/var/spool/cron/crontabs 这个目录下存放的是每个用户包括 root 的 crontab 任务,每个任务是创建者的名字命名,比如 tom 创建的 crontab 任务对应的文件就是 /var/spool/cron/crontabs/tom 。一般一个用户最多只有一个 crontab 文件。
2,/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的 crontab,打开看一下:

注:每行中的 root 字段指定了执行的级别为 root 身份;run-parts 后面接的 /etc/cron.hourly 是一个目录,表示每个小时的第 17 分钟以 root 的身份去 /etc/cron.hourly 目录下执行所有可执行的文件,可以到 /etc 目录下去看看,系统本来就预设了这四个目录!你可以将每天需要执行的命令直接写到 /etc/cron.daily 目录下即可,此时还不需要使用到 crontab -e 的程式!
3,/etc/cron.d/ 这个目录用来存放任何要执行的 crontab 文件或脚本

权限
crontab 权限问题到 /var/adm/cron/ 目录下看一下,文件 cron.allow 和 cron.deny 是否存在:
1,如果两个文件都不存在,则只有 root 用户才能使用 crontab 命令。
2,如果 cron.allow 存在,但是 cron.deny 不存在,则只有列在 cron.allow 文件里的用户才能使用 crontab 命令,如果 root 用户也不在里面,则 root 用户也不能使用 crontab。
3,如果 cron.allow 不存在,cron.deny 存在,则只有列在 cron.deny 中的用户不能使用 crontab 命令,其它用户都能使用。
4,如果两个文件都存在,则在 cron.allow 中而且没有列在 cron.deny 中的用户可以使用 crontab, 如果两个文件中都有同一个用户,以 cron.allow 文件里面是否有该用户为准,如果 cron.allow 中有该用户,则可以使用 crontab 命令。
注:在 Ubuntu 上验证,发现两个文件都不存在,但非 root 用户依旧可以使用 crontab 命令。
crontab 格式
minute hour day-of-month month-of-year day-of-week commands
0-59 0-23 1-31 1-12 0-7(0/7 is sunday)
另外还可以使用一些特殊符号:
* :代表所有取值范围内的数字(如果 month 字段为 * :在满足其它字段的约束条件后每月都执行该命令)
/ :代表 ”每“ 的意思(0-23/2 :表示每 2 个小时执行一次;minute: */10 : 表示每 10 分钟执行一次)
- :表示从某个数字到某个数字("2-6" : 表示 2,3,4,5,6)
,:表示分开几个离散的数字(1,2,5,7,8,9)
命令参数
-u user : 用来设定某个用户的 crontab 服务,此服务一般由 root 用户来运行
file : file 是命令文件的名字,表示将 file 作为 crontab 的任务列表文件并载入 crontab。如果没有在命令中指定这个文件,crontab 命令将接受标准输入(键盘)上输入的命令,并载入 crontab。
-e : 编辑某个用户的 crontab 文件内容,如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l : 显示某个用户的 crontab 文件内容,如果不指定用户,则显示当前用户的 crontab 文件。
-r : 从 /var/spool/cron 目录中删除某个用户的 crontab 文件,如果不指定用户,默认删除当前用户的 crontab 文件。
-i : 在删除用户的 crontab 文件时给出确认信息。
常用方法
1 : 编写定期执行的脚本文件:
文件名称为:bagcron
文件内容为:每秒打印字符串 “data” 到控制台【有的系统将 tty1 作为控制台】

2,加入到 corntab 任务列表并查看任务列表:

注:此时可以看到 /var/spool/cron/crontabs 下有个以用户名命名的 admin 的文件:

3,再次编辑 crontab 文件:

4,删除 crontab 文件:

注:此时可以看到 /var/spool/cron/crontabs/ 目录下的文件 admin 已经被删除了。
参考资料:
one_day_one_linuxCmd---crontab 命令的更多相关文章
- Linux 设置定时任务crontab命令
1. crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...
- linux命令:crontab命令(转)
一.crond简介 二.crond服务 三.crontab命令详解 四.使用注意事项 linux系统是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作 ...
- linux下crontab命令的使用
1.crond crond是Linux下的一个守护进程,与windows下的计划任务类似,当操作系统安装完成后,默认会安装并启动进程,Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统 ...
- linux定时执行任务crontab命令用法
linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...
- 每天一个linux命令(50):crontab命令
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- 【转】定时自动启动任务crontab命令用法
每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和类Unix的操作系统之中,用于 ...
- crontab命令
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- [转]crontab命令指南
原文链接:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划 ...
- [linux]crontab 命令执行问题
在服务器上设置了一个R脚本的crontab任务,死活不执行.在网上搜了很久,终于解决了. 这里主要说一下crontab异常时,该如何排查. 假设cron命令为:* * * * Rscript /you ...
- Linux crontab 命令详解
在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...
随机推荐
- 2017 北京网络赛 E Cats and Fish
Cats and Fish 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They ...
- Spring中的BeanPostProcessor和BeanFactoryPostProcessor
BeanPostProcessor BeanFactoryPostProcessor 标准ioc容器初始化之后的后置处理器 BeanDefintionRegisterPostProcessor 在所有 ...
- SQLSERVER|CDC 日志变更捕获机制
先说一下什么是cdc ,cdc 变更数据捕获(Change Data Capture ,简称 CDC)记录 SQL Server 表的插入.更新和删除活动.SQLServer的操作会写日志,这也是CD ...
- kubernetes 1.17.2 结合 Ceph 13.2.8 实现 静态 动态存储 并附带一个实验
关于部署和相关原理 请自行搜索 这里 给出我的操作记录和排查问题的思路 这一节对后面的学习有巨大的作用!!! [root@bs-k8s-ceph ~]# ceph -s cluster: -1a9a- ...
- ahk键盘增强✨✨✨
ahk键盘增强✨✨✨ ahk的一个键盘增强脚本,仅在winwods下可用,长期更新 仓库链接 首先感谢ahk的大神们,这个工具能极大地增加生产力 功能简介 myahk旨在增强windows下的键盘功能
- 010.CI4框架CodeIgniter, autoload自动加载自己的helper函数类
01.自己定义了一个helper类,里面有个函数用来输出 02.定义一个Controller基本类,我们以后用到的Controllers类都继承自这个类.其中自动加载helper函数如图所示: 03. ...
- JAVA字符串比较问题
在java中值类型通过==来进行比较值是否相等 而字符串作为一种引用类型,通过==是用来比较其内存位置的,使用equals才是用来比较其值是否相等 使用equals时养成将字符串放在前面的好习惯 字符 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-pause
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Java 文件
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- Golang的变量定义及使用案例
Golang的变量定义及使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.变量的定义 package main import "fmt" func m ...