`

Cron服务配置详解(摘自linuxaid)

阅读更多


刚做了一个备份的模块,后来师傅提示最好再加一个自动备份的功能,于是研究起来Cron这个服务来。Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上: /sbin/service crond start


现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

1.直接用crontab命令编辑

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

这 个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以 了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:

每天早上6点

0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

每 次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件 中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

2.编辑/etc/crontab 文件配置cron

cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务 做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/        //使用者运行的路径,这里是根目录 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本 


大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
分享到:
评论

相关推荐

    cron服务配置祥解.docx

    【cron服务配置详解】 cron服务是Linux操作系统中的一个定时任务调度器,它允许用户设置定期执行的任务,无需人工干预。这个服务并不默认启动,但可以通过特定的命令来控制其启停。要启动cron服务,可以使用`/sbin/...

    gocron - 定时任务系统的配置与运行详解

    gocron 定时任务系统的配置与运行详解 以下是关于 gocron 定时任务系统的配置与运行详解的知识点: 一、创建 gocron 用户 * 创建 gocron 用户:使用 useradd 命令创建 gocron 用户,并授予 sudo 权限。 * 授权 ...

    Go定时器cron的使用详解

    Go定时器cron是一种在Go语言中实现的定时任务框架,它允许开发者定义基于cron表达式的周期性任务。cron表达式是一种强大的语法,用于定义任务执行的时间规律。在Go中,cron通常通过第三方库如`github....

    Cron前端生成工具

    所提供的在线服务。Cron是Unix/Linux系统中的一种任务调度命令,允许用户预设定时任务,按照指定的时间间隔执行。这种工具的出现,为不熟悉Cron语法或者想要快速测试和调试Cron表达式的开发者提供了极大的便利。 ...

    cron安装包

    vixie-cron-3.0.1-39.i386.rpm这个文件是一个针对i386架构的老版本安装包,它包含了运行cron服务所需的全部代码和配置文件。安装这个包后,系统会启动cron服务,允许用户通过crontab命令设置定时任务。 **crontabs*...

    嵌入式平台cron和logrotate配置

    ### 嵌入式平台cron和logrotate配置详解 #### 一、概述 在嵌入式平台中,为了实现高效且自动化的系统管理和维护,通常会利用cron与logrotate两个强大的工具来完成定时任务和日志管理的工作。本文将详细介绍如何在...

    cron和crontab概念详解

    ### cron与crontab概念详解 #### 一、cron简介 cron是Linux系统中的一个守护进程,用于在特定的时间间隔内自动执行预定的任务或者命令。它可以帮助用户在无需人工干预的情况下自动化一系列工作流程,比如定时备份...

    Cron 命令详解

    Cron 命令详解 Cron 命令是 Linux 系统下的一个自动执行指定任务的程序,它来自希腊单词 chronos,意为“时间”。Cron 命令允许用户在特定的时间间隔执行某些命令,例如在每晚睡觉期间创建某些文件或文件夹的备份...

    cron表达式详解

    ### cron表达式详解 cron表达式是用于定义定时任务执行时间的一种格式,广泛应用于Linux系统中的计划任务。本文将深入解读cron表达式的各个组成部分及其使用方法。 #### cron表达式的基本结构 一个完整的cron...

    Linux cron 配置样例

    为了使用 `cron` 服务,你需要确保系统已经安装了 `vixie-cron` RPM 包,并且 `crond` 服务正在运行。你可以通过运行 `rpm -q vixie-cron` 来检查软件包是否已经安装,而 `/sbin/service crond status` 命令则用来...

    cron表达式自动生成页面版

    这个"cron表达式自动生成页面版"是一个实用的工具,它允许用户在网页界面上自定义时间规则,然后生成对应的cron表达式,方便地用于各种定时任务的配置。 cron表达式的格式通常包含6个或7个字段,分别代表秒、分、...

    阿里云Cron服务说明.docx

    3. **PHP API管理**:不同于Linux中通过配置文件定义crontab,阿里云Cron服务通过PHP API来创建、删除和查看定时任务。 4. **HTTP执行**:任务是通过HTTP请求触发的,这使得它能够直接访问PHP代码。 **使用注意事项...

    CRON表达式详解(英文版)

    理解并熟练运用CRON表达式,能够帮助你更有效地管理定时任务,确保你的系统和服务在正确的时间得到维护和更新。在编写CRON表达式时,应始终考虑所有可能的时间边界条件和异常情况,以确保任务的准确执行。参考文档中...

    Linux高级配置详解

    以下是对"Linux高级配置详解"这一主题的深入探讨: 1. **系统管理**: - **文件系统管理**:了解EXT2、EXT3、EXT4、XFS、Btrfs等文件系统的特性,并能进行挂载、卸载、检查和修复。 - **用户与组管理**:掌握`...

    cron -- windows 下的定时任务程序

    cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务; cron是一个linux下的定时执行工具,可以在无需人工干预的情况下...

    Spring Job 配置详解

    Spring Job 配置详解 Spring Job 配置详解是指在 Spring 框架中使用 Quartz 来实现任务调度,Quartz 是一个功能强大且灵活的开源任务调度库。Quartz 的核心概念是 Job 和 Trigger,Job 是需要执行的任务,而 ...

    C# Cron表达式解析 .net

    C# Cron表达式解析在.NET开发中是一种常见且重要的任务,尤其在自动化任务调度和计划程序的场景下。Cron表达式源于Unix操作系统,用于定义周期性任务的执行时间。在C#中,通过理解并解析Cron表达式,开发者可以创建...

    k8s+springboot+cronjob 定时任务配置

    本篇文章将详细探讨如何在 Kubernetes (k8s) 集群环境中,结合 Spring Boot 应用程序和 Kubernetes CronJob 资源来配置定时任务。 首先,Spring Boot 是一个流行的 Java 框架,用于快速构建微服务应用。它提供了...

    vue-cron_vue-cron_vuecrond组件_vuecron_

    Vue-Cron旨在提供一种直观的用户界面,让用户能够通过图形化的方式设置复杂的Cron表达式,从而实现定时任务的配置。 Cron表达式是一种在各种操作系统中广泛使用的定时任务调度格式,它由7个字段组成,每个字段代表...

    cron(动态生成cron表达式)

    在这个场景中,我们讨论的是一个基于Vue的Cron表达式组件,它允许用户在前端界面中动态生成和配置cron表达式。Vue.js是一个流行的轻量级前端框架,而JavaScript则是Web开发中的主要脚本语言。 这个组件的安装过程...

Global site tag (gtag.js) - Google Analytics