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 ...
随机推荐
- HihoCoder第五周:标准动态规划
这周的题目是最标准最简单的动态规划了,自己一直以来对动态规划都不是很理解,这次也是好好记录一下. 题目1 :数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 ...
- mybatis连接数据库出错获取不到SQLsession
采用mybatis连接数据库时候出现的问题描述: 数据库连接配置正确,mybatis-config数据库等部分配置均正确,连接数据库是OK的 <properties resource=" ...
- mongodb - 关联字段
1,博客表结构 Blog.js var mongoose = require('mongoose') mongoose.connect('mongodb://localhost/test',{ us ...
- ROS大型工程学习(三) ROS常用命令行
1.rosbag 对ros包进行操作的命令. (1)录制包: rosbag record -a //录制数据包,所有topic都录制 rosbag record /topic_name1 /topic ...
- Java Math.round()函数小结
Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...
- hello程序的运行过程-从计算机系统角度
hello程序的运行过程-从计算机系统角度 1.gcc编译器驱动程序读取源程序文件hello.c,并将它翻译成一个可执行目标文件hello.翻译过程分为四个阶段:预处理阶段,编译阶段,汇编阶段,链接阶 ...
- gem5-gpu 选项解释
‘--split’ ,该项用于模拟独立显卡,GPU与CPU不在同一芯片上,两者的内存物理上隔绝,使用PCI-Express连接. ‘--access-host-pagetable’,该项用于模拟集成显 ...
- 调用dos
两个方法 function RunDosCommand(Command: string): string; var hReadPipe: THandle; hWritePipe: THandle; S ...
- pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))
//2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...
- UVA - 10635 Prince and Princess(LCS,可转化为LIS)
题意:有两个长度分别为p+1和q+1的序列,每个序列中的各个元素互不相同,且都是1~n2的整数.两个序列的第一个元素均为1.求出A和B的最长公共子序列长度. 分析: A = {1,7,5,4,8,3, ...