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

Linux计划任务Cron的使用与管理

本文介绍了Linux系统中用于定期执行任务的cron服务及其配置方法。通过crond和crontab命令,用户可以轻松地安排系统和用户级别的周期性任务。
### 一. 关于 crond 1. **crond 的作用** `crond` 是 Linux 系统中用于定期执行程序的守护进程。在操作系统安装完成后,默认情况下会启动此任务调度服务。`crond` 每分钟都会检查是否有需要执行的任务,并自动执行这些任务。Linux 中的任务调度主要分为以下两类: - **系统执行的工作**:系统周期性需要执行的任务,如备份系统数据、清理缓存等。 - **个人执行的工作**:用户定期需要执行的任务,如每隔10分钟检查邮件服务器是否有新邮件,这些任务可以由每个用户自行设置。 2. **服务的启动和停止** `cron` 服务是 Linux 的内置服务,但默认不会开机自动启动。可以使用以下命令来启动和停止服务: | 命令 | 描述 | | --- | --- | | `/sbin/service crond start` | 启动服务 | | `/sbin/service crond stop` | 停止服务 | | `/sbin/service crond restart` | 重启服务 | | `/sbin/service crond reload` | 重新加载配置 | 要将 `cron` 设置为开机自动启动,可以在 `/etc/rc.d/rc.local` 脚本中加入 `/sbin/service crond start`。 ### 二. 关于 crontab `crontab` 是一个用于在 Unix/Linux 系统上定时执行任务的工具。通过 `cron` 服务,用户可以使用 `crontab` 命令添加或编辑需要定时执行的任务。使用 `service crond status` 命令可以查看 `cron` 服务的状态,如果未启动,可以使用 `service crond start` 命令启动。 | 命令 | 描述 | | --- | --- | | `crontab -l` | 查看当前用户的 cron 配置 | | `crontab -e` | 编辑当前用户的 cron 配置 | | `crontab -r` | 删除当前用户的 cron 配置 | | `crontab -u` | 设定某个用户的 cron 服务,通常 root 用户在执行此命令时需要此参数 | | `crontab -u root -l` | root 查看自己的 cron 设置 | | `crontab -u fred -r` | root 删除 fred 的 cron 设置 | | `crontab -u root -e` | 编辑 root 用户的 cron 服务,编辑内容需遵循特定格式 | | `crontab -l` | 列出当前的 crontab 任务 | | `crontab -d` | 删除当前的 crontab 任务 | | `crontab -e` | 编辑一个 crontab 任务,Ctrl+D 结束 | | `crontab filename` | 以 filename 作为 crontab 的任务列表文件并载入 | #### 示例 以下是两个 cron 任务的例子(在 `/etc/crontab` 文件中): - `12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1` // 用于晚间备份 /etc 目录 - `52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1` // 运行 Analog 程序处理服务器的统计信息 #### 字段说明 | 字段 | 1 | 2 | 3 | 4 | 5 | 6 | | --- | --- | --- | --- | --- | --- | --- | | 说明 | 分钟(0-59) | 小时(0-23) | 日期(1-31) | 月份(1-12;或英文缩写 Jan、Feb 等) | 星期几(0-6,0 为周日;或单词缩写 Sun、Mon 等) | 用户名(执行命令时以此用户的身份) | 第 6 个字段是一个要在适当时间执行的命令字符串。 - 示例: ``` # MIN HOUR DAY MONTH DAYOFWEEK COMMAND # 每天早上 6 点 10 分 10 6 * * * date # 每两个小时 0 */2 * * * date (Solaris 5.8 似乎不支持此种写法) # 晚上 11 点到早上 8 点之间每两个小时,早上 8 点 0 23-7/2,8 * * * date # 每个月的 4 号和每个星期的星期一到星期三的早上 11 点 0 11 4 * mon-wed date # 1 月份每天早上 4 点 0 4 1 jan * date ``` ### 三. 测试代码 1. **启动 crond** ```bash /sbin/service crond start // 若提示没有权限可加上 sudo ``` 2. **查看当前用户的 cron 配置并编辑** ```bash crontab -l crontab -e // 然后输入以下命令 * * * * * ~/run.sh // 每隔一分钟向 shell 发一封邮件 ``` 输入 `crontab -l` 命令,每隔一分钟输入一次,则会出现以下现象: ![结果图](https://www.example.com/image1.png) 3. **删除当前用户的 cron 配置** ![结果图](https://www.example.com/image2.png) ![结果图](https://www.example.com/image3.png)
推荐阅读
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文探讨了SSDP(简单服务发现协议)和WSD(Web服务发现)协议,特别是SSDP如何通过固定多播地址239.255.255.250:1900实现局域网内的服务自发现功能。文中还详细介绍了SSDP协议的关键操作类型及其应用场景。 ... [详细]
  • 本文详细介绍了在Linux环境下如何有效地管理任务,包括撤销操作、挂起与恢复任务、终止后台程序以及取消定时任务的方法。这些技巧对于提高日常工作效率和系统维护至关重要。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • 本文介绍了如何在 Linux 系统中使用 Cron 进行任务调度,包括查看日志、显示和编辑用户任务列表的方法,以及重启 Cron 服务的具体操作。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 深入解析MySQL查询优化:特定类型查询的高级策略
    本文详细探讨了MySQL中特定类型查询的优化方法,包括COUNT()查询、关联查询、LIMIT分页及UNION查询的优化技巧,旨在提高数据库查询效率。 ... [详细]
  • Linux Crontab 定时任务管理指南
    本文详细介绍了在Linux系统中如何编辑、查看和删除Crontab定时任务,以及解决定时任务可能遇到的问题。 ... [详细]
author-avatar
浪漫的没天份
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有