《坚持每天学习一个 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. PWM与时间片思想

    改编自:http://www.moz8.com/thread-79049-1-1.html 什么是PWM? PWM:脉冲宽度调制,由于在数字电路(或者单片机)输出模拟信号的成本高昂,换句话说,受制于只 ...

  2. 01.DesignParttern设计模式,简单工厂,工厂方法,抽象工厂三大工厂的区别与联系

                工厂用来生产对象,对象具有方法和属性. 简单工厂的缺点(简单工厂并不是23中设计模式): 工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则: JDK源 ...

  3. linux7下nenux3.14的maven私服搭建和配置使用

    为什么用私服,各种帖子很多,话不多说,直接奉上本博主的搭建过程. 一.环境准备:确保jdk和maven安装完成 二.下载nenux:地址:https://www.sonatype.com/downlo ...

  4. Ajax发送PUT/DELETE请求时出现错误的原因及解决方案

    本文讲什么? 大家应该都知道.在HTTP中,规定了很多种请求方式,包括POST,PUT,GET,DELETE等.每一种方式都有这种方式的独特的用处,根据英文名称,我们能够很清楚的知道DELETE方法的 ...

  5. JS写一个旋转木马的视频播放效果

    JS以及JQ的功能很强大,可以做出很多的优秀效果.今天给大家分享一个我之前写网站用到的旋转木马效果. 大概效果图就是这样的,上面的视频播放是旋转木马效果. 下面的音乐播放效果放在下一篇内容里面讲. 直 ...

  6. JSONPath 表达式的使用

    一.JSONPath使用需要的包 <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactI ...

  7. Unity 打开其他exe文件

    using UnityEngine; using System.Collections; using System.Diagnostics;///// public class FeiYuZhu : ...

  8. ubuntu---NVIDIA驱动 + CUDA 安装完可能会遇见的问题

    如果稍不注意:系统内核.GCC.下载的版本不对应.安装过程中选项选择不正确,在NVIDIA驱动 + CUDA 安装完后可能会遇见一些问题. 一.登陆不进桌面 可能的操作: (1)nivida驱动安装完 ...

  9. Linux服务器命令大全

    快捷提示键: table 查看文件夹:  ls , ls –all ,ls –l,ll 进入某个文件夹: cd usr/local 回到root 目录 : cd /root/ 回到根目录:cd / 回 ...

  10. maven package跳过测试

    mvn clean package -DskipTests 或者 mvn clean package -Dmaven.test.skip=true 区别 -DskipTests,不执行测试用例,但编译 ...