热门标签 | 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)
推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文介绍了如何在Django项目中使用django-crontab库来设置和管理定时任务,包括安装、配置、编写定时任务以及常见问题的解决方案。通过具体实例,帮助开发者快速掌握在Django中实现自动化任务的方法。 ... [详细]
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社区 版权所有