热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在linux中使用crontab定时器

如何在linux中使用crontab定时器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行

如何在linux中使用crontab定时器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

编辑:crontab –u root –e

列表:crontab –u root –l

删除:crontab –u root –r

每五分钟执行  */5 * * * *

每小时执行     0 * * * *

每天执行        0 0 * * *

每周执行       0 0 * * 0

每月执行        0 0 1 * *

每年执行       0 0 1 1 *

*/1   *     *     *     *     ls >>/tmp/ls.txt

1.作用

使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。

2.格式

crontab [-u user] {-l | -r | -e}

3.主要参数

-e:执行文字编辑器来设定时程表,内空的文字编辑器是vi

-r:删除目前的时程表

-l列出目前的时程表。

Crontab文件的格式为”M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。Cmd表示要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量。

使用cron服务,用server crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或编辑需要定时执行的任务:

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

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

crontab –r //删除某个用户的cron服务

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

crontab filename //以filename作为crontab的任务列表文件并载入

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

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

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

进入vi编辑模式,编辑的内容一定要符合下面的格式:

*/1   *     *     *     *     ls >>/tmp/ls.txt

编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6这样就将系统配置为每天早上5点30分自动重新启动。

crontab 文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间

分钟(0-59)

小时(0-23)

日期(1-31)

月份(1-12)

星期几(0-6,其中0代表星期日,好像7也代表星期日)

第6个字段是一个要在适当时间执行的字符串。

例子:

#MIN      HOUR     DAY       MONTH  DAYOFWEEK       COMMAND

#每天早上6点10分

10    6     *     *     *     date

#每两个小时

0     */2   *     *     *     date

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

0     23-7/2,8      *     *     *     date

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

0     11    4     *     1-3  date

#1月1日早上4点

0     4     1     1       *  date

补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

(1)       先建一个文件crond.txt如下,每天早上5点36分重新启动

36      5     *     *     *     reboot

(2)上传到/opt目录

(3)运行命令

crontab /opt/crond.txt

crontab –l

让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。

在Fedora和Redhat中,我们应该用:

/etc/rc.d/crond restart

如果让crond在开机时运行,应该改变其运行级别:

chkconfig –level 35 crond on

service crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

关于如何在linux中使用crontab定时器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程笔记行业资讯频道了解更多相关知识。


推荐阅读
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • Jenkins教程:使用Jenkins进行持续集成
    【注】本文译自:https:www.edureka.coblogjenkins-tutorial本文将重点介绍Jenkins架构和Jenkins构建管道,并向您展示如何在Jenki ... [详细]
  • 开发笔记:用shell脚本实现MongoDB数据库自动备份
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了用shell脚本实现MongoDB数据库自动备份相关的知识,希望对你有一定的参考价值。 ... [详细]
  • CentOS下基于PPTPD与AD验证的×××服务器构建
    一.服务器加入AD域名1.安装kerberos、samba、ntpdateyum-yinstallkrb5-workstationpam_krb5krb5-develkrb5-li ... [详细]
  • 在做以下实验时需先做的操作为:(1)打开两个虚拟机(desktop和server)并更改他们的ipÿ ... [详细]
  • 想到一个问题,如果在crontab里有个定时任务设置为一分钟执行一次,但是它执行的时间可能会超过一分钟,此时crontab一分钟后会再次运行该脚本吗?这样会不会出现冲突呢?网上找了下,说可以用Linu ... [详细]
  • 服务器上的nginx使用logrotate来分割日志,设置为每天分割。但是logrotate似乎没有工作,日志并没有分割。服务器是CentOS6。为了找到原因 ... [详细]
  • #!binbash########################################################################## File Name : rsync_nobody.sh#  ... [详细]
  • Linux下浅谈crond与crontab的命令用法
    一、什么是crond?crond是Linux系统用来定期执行命令或指定程序的服务的一种服务或软件。一般情况下当我们安装完成Linux操作系统之后,默认便会启动 ... [详细]
  • 用.sh文件来完成任务,但现在有个项目直接用url就行。一般系统不会有crontabShell#安装crontab:yuminstallcronta ... [详细]
  • 【场景】:需要定期运行Hadoop的MapReduce【解决办法】:编写一个运行MapReduce的Shell脚本。然后使用crontab配置定时任务。【Shell脚本】 ... [详细]
  • 前言crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较 ... [详细]
  • Linux下怎么使用crontab命令
    本篇内容主要讲解“Linux下怎么使用crontab命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Li ... [详细]
  • 关于定时执行一个PHP文件办法,该如何解决
    后端开发|php教程crontab,windows,PHP,schedule,7302763后端开发-php教程关于定时执行一个PHP文件的方法简搜源码,ubuntu找不到域名,启 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
author-avatar
金婉山_461
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有