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

[老男孩笔记系列]-之linux定时任务crontab命令详解

linux定时任务crontab命令详解1.1指令语法crontab[-uuser]filecrontab[-uuser]{-l|-r|-e}1.2指令

linux定时任务crontab命令详解

 

1.1指令语法

crontab [ -u user ] file

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

1.2指令说明

通过crontab 我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

1.3使用者权限文件

文件

说明

/etc/cron.deny

该文件中所列用户不允许使用crontab命令

/etc/cron.allow

该文件中所列用户允许使用crontab命令

/var/spool/cron/

所有用户crontab文件存放的目录,以用户名命名

 

1.4指令选项说明含义表

参数名称

 含义

 指定示例

-l(是字母)

显示用户crontab文件内容l list缩写

crontab –l

-e

进入vi编辑用户crontab文件,eedit缩写

crontab -e

-i

删除用户crontab文件前确认提示

crontab -ri

-r

crontab目录中删除用户crontab文件

crontab -r

-u user

指定使用者

crontab -u oldboy -l

 

1.5指令的使用格式

用户所建立的crontab文件存于/var/spool/cron中,其文件名与用户名一致。

格式共分为七段,前五段为时间设定段,第六段为以哪个用户执行crontab,第七段为所要执行的命令段

格式如下:

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

 

时间段的含义如表:

含义

取值范围

第一段

代表分钟

059

第二段

代表小时

023

第三段

代表日期

131

第四段

代表月份

112

第五段

代表星期几,0代表星期日

06

1.6实例说明

[root@drbd1 etc]# crontab -l

*/1 * * * * /root/data.sh

在上例中除了数字与英文名称,还使用到了符号"*",这个*号代表每一单位的意思。

譬如 30 3 * * * 既代表 30 3 每日 每月 星期的每天。

 

时间的指定,可以是单一的数字,或几个数字用逗号来连接。看下例

 

30 3,12 * * * /root/oldboybakdata.sh

其中的第二项为 3,12,这代表 3 以及 12 小时的意思。

 

30 */6 * * * /root/oldboybakdata.sh

把第二项改成 */6 这代表每 6 小时,也相当于 6,12,18,24 的作用。

 

30 8-18/2 * * * /root/oldboybakdata.sh

把第二项改成 8-18/2 这代表在 8 小时到 18 小时之间每 2 小时,也相当于 8,10,12,14,16,18 的作用。

 

30 21 * * * /oldboy/weberber/apache/bin/apachectl restart

上面的例子表示每晚的21:30重启apache

 

45 4 1,10,22 * * /oldboy/weberber/apache/bin/apachectl restart

上面的例子表示每月11022日的4 : 45重启apache

 

10 1 * * 6,0 /oldboy/weberber/apache/bin/apachectl restart

上面的例子表示每周六、周日的1 : 10重启apache

 

0,30 18-23 * * * /oldboy/weberber/apache/bin/apachectl restart

上面的例子表示在每天18 : 0023 : 00之间每隔30分钟重启apache

 

0 23 * * 6 /oldboy/weberber/apache/bin/apachectl restart

上面的例子表示每星期六的11 : 00 pm重启apache

 

00 */1 * * * /oldboy/weberber/apache/bin/apachectl restart

每隔一小时整点重启apache

* 23-7/1 * * * /oldboy/weberber/apache/bin/apachectl restart

晚上11点到早上7点之间,每隔一小时重启apache

提示:以上结果是不对的。大家想想为什么?

0 11 4 * 1-3 /oldboy/weberber/apache/bin/apachectl restart

每月的4号与每周一到周三的11点重启apache

 

0 4 1 1 * /oldboy/weberber/apache/bin/apachectl restart

一月一号的4点重启apache

更多内容请参考我的其他笔记系列.


推荐阅读
  •   crontab命令用于设置周期性被执行的指令,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 如何在Linux系统中实施网络流量监测与分析
    本文详细介绍了在Linux系统中实施网络流量监测与分析的方法。通过使用专业的工具和技术,读者可以有效地监控和分析网络流量,从而提高系统的安全性和性能。希望本文能为读者提供有价值的参考和实践指导。 ... [详细]
  • Linux下浅谈crond与crontab的命令用法
    一、什么是crond?crond是Linux系统用来定期执行命令或指定程序的服务的一种服务或软件。一般情况下当我们安装完成Linux操作系统之后,默认便会启动 ... [详细]
  • Linux下怎么使用crontab命令
    本篇内容主要讲解“Linux下怎么使用crontab命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Li ... [详细]
  • 第一种,通过mancrontab查看crontab的帮助手册第二种列出几个简单示例Crontab命令的格式为:crontab–l|-r|-e|-i[username]-l显示用户的 ... [详细]
  • 一,crontab服务的简介二、安装cron服务安装cron服务:--yuminstallvixie-cron--yuminstallc ... [详细]
  • 关于定时执行一个PHP文件办法,该如何解决
    后端开发|php教程crontab,windows,PHP,schedule,7302763后端开发-php教程关于定时执行一个PHP文件的方法简搜源码,ubuntu找不到域名,启 ... [详细]
  • Crontab 是 Linux 系统中用于设置定时任务的强大工具。为了高效地管理和使用 Crontab,首先需要编写相应的 Shell 脚本来定义具体的任务逻辑。此外,还需要对 Crontab 进行适当的配置,以确保任务能够按时准确地执行。本文将详细介绍如何编写和管理 Crontab 定时任务,包括常见的配置选项和最佳实践,帮助用户提高任务调度的效率和可靠性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 用.sh文件来完成任务,但现在有个项目直接用url就行。一般系统不会有crontabShell#安装crontab:yuminstallcronta ... [详细]
  • 前言crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较 ... [详细]
author-avatar
江南西道longge
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有