《坚持每天学习一个 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 命令的更多相关文章

  1. Linux 设置定时任务crontab命令

    1.  crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...

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

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

  3. linux下crontab命令的使用

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

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

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

  5. 每天一个linux命令(50):crontab命令

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

  6. 【转】定时自动启动任务crontab命令用法

    每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和类Unix的操作系统之中,用于 ...

  7. crontab命令

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

  8. [转]crontab命令指南

    原文链接:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划 ...

  9. [linux]crontab 命令执行问题

    在服务器上设置了一个R脚本的crontab任务,死活不执行.在网上搜了很久,终于解决了. 这里主要说一下crontab异常时,该如何排查. 假设cron命令为:* * * * Rscript /you ...

  10. Linux crontab 命令详解

    在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...

随机推荐

  1. 吴裕雄--天生自然JAVAIO操作学习笔记:字符编码与对象序列化

    public class CharSetDemo01{ public static void main(String args[]){ System.out.println("系统默认编码: ...

  2. '/'和‘/*’差异造成的No mapping found for HTTP request with URI [/springMVC/welcome.jsp] in DispatcherServlet with name 'springmvc'

    在采用springMVC框架的时候所遇到的一个小问题,其中web.xml中关于servlet的配置如下: <servlet> <servlet-name>springmvc&l ...

  3. 洛谷 P3801 红色的幻想乡

    题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一 ...

  4. 区块链技术核心概念与原理讲解-Tiny熊

    转载自简书ceido:https://www.jianshu.com/u/fcdf49ef65bb (1)区块链前世今生 密码朋克(Cypherpunk):是一个邮件组,里面有许多大牛. 区块链不是单 ...

  5. 17 Resources AssetBundle资源打包

    Resources在Unity中可以使用www类加载远程文件或本地文件,或是在脚本中定义字段或数组从外部拖入. 在Unity中提供了Resources类读取资源要通过Resources类读取的文件必须 ...

  6. Codeforces Round #611 (Div. 3)

    原题面:https://codeforces.com/contest/1283 A.Minutes Before the New Year 题目大意:给定时间,问距离零点零分还有多久? 分析:注意一下 ...

  7. msf自动连接postgresql配置

    今天做了一下msf连接数据库的配置,中间碰到了一些坑点这里就不详细叙述了,开始正确的操作方式. 首先对postgresql进行配置以方便连接. root@kali:~# service postgre ...

  8. Golang的标准输入输出

    Golang的标准输入输出 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在很多情况下,我们希望用户通过键盘输入一个数值,存储到某个变量中,然后将该变量的值取出来,进行操作.这时候 ...

  9. Postman配置Pre-request scripts预请求对请求进行AES加密

    1.首先,Postman的Pre-request scripts页面右边已经提供了一些模板,这些模板可以设置变量与环境变量,并使用双大括号对变量进行引用 {{info}} 2.对所有POST请求都进行 ...

  10. CNN经典模型VGG

    VGG是一个很经典的CNN模型,接触深度学习的人大概都有所耳闻.VGG在2014年被提出并拿来参加ImageNet挑战赛,最终实现了92.3%的正确率,得到了当年的亚军.虽然多年过去,又有很多新模型被 ...