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 ...
随机推荐
- 深入理解 C# 协变和逆变 (转载)
深入理解 C# 协变和逆变 msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型. “逆变”则是指能够使用派生程度更小的类型. 解释的很正确,大致就是这样,不过不 ...
- python-python基础6(面向对象)
一.面向对象编程 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马 ...
- python2学习------基础语法5(文件操作)
1.文件内容读取 a.txt teestttttttttttttt teestttttttttttttt teestttttttttttttt teestttttttttttttt teesttttt ...
- jmeter用Stepping Thread Group 递增并发数
jmeter安装插件Stepping Thread Group 如图所示设置的时候,本以为是每2秒 按 1 2 3 4 递增的,总共请求应该是10个,可是运行后却请求了几十个. 这个是有关线程数是否就 ...
- java 寒假作业
寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见[图1.jpg]) 每个方 ...
- 外网如何访问 Service?【转】
除了 Cluster 内部可以访问 Service,很多情况我们也希望应用的 Service 能够暴露给 Cluster 外部.Kubernetes 提供了多种类型的 Service,默认是 Clus ...
- POJ 3436:ACM Computer Factory 网络流
ACM Computer Factory Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6247 Accepted: 2 ...
- 运行jar包中的main方法
java -classpath jar包名.jar 包名.类名
- Day4 - H - Following Orders POJ - 1270
Order is an important concept in mathematics and in computer science. For example, Zorn's Lemma stat ...
- POJ1014:Dividing
Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63013 Accepted: 16315 Descri ...