热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

linux定时任务.毁掉系统,Linux系统管理之定时任务

我们来平民化的理解一下什么是定时任务,Linux定时任务类似于我们平时生活中的闹钟,根据我们设定好的时间,定点去执行某件事情。Linux定

我们来平民化的理解一下什么是定时任务,Linux定时任务类似于我们平时生活中的闹钟,根据我们设定好的时间,定点去执行某件事情。Linux定时任务命令是 crontab,该命令需要 crond 服务支持。在安装完操作系统后,系统默认会安装 crond 服务,并且该服务默认是自启动状态。

为什么要用到定时任务

计划任务主要是做一些定期周期性的任务,比如每天凌晨1点定时备份重要的数据、每天凌晨2点清理一些垃圾文件等。

计划任务主要分为以下两种使用情况:

系统级别的定时任务

临时文件清理、系统信息采集、日志文件切割

用户级别的定时任务

定时备份系统配置文件、定时备份数据库的数据

crond 常用命令

查看 crond 服务的运行状态

$ service crond status

bcb8bdfe1452779a95f22c153b72b68a.png

我们看到crond服务状态是active running运行中。

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

配置定时任务

cron有两个配置文件,一个是一个全局配置文件(/etc/crontab),是针对系统任务的;一组是crontab命令生成的配置文件(/var/spool/cron下的文件),是针对某个用户的。

我们先来看看/etc/crontab文件:

$vi /etc/crontab

80b265caba8d2fab12561e57308a65d4.png

1、任务执行时间格式讲解

来看看上面的截图例子,有5个*符号,他们分别代表的意思如下表:

项目

含义

范围

第一个"*"

一小时当中的第几分钟(minute)

0~59

第二个"*"

一天当中的第几小时(hour)

0~23

第三个"*"

一个月当中的第几天(day)

1~31

第四个"*"

一年当中的第几个月(month)

1~12

第五个"*"

一周当中的星期几(week)

0~7(0和7都代表星期日)

以上表格中的时间表示,都是标准的形式,在我们实际的使用过程中,可能对于时间的要求更加复杂,比如想在每天的凌晨1点至3点,6点至10点执行任务等这种比较复杂的情况,我们该如何设定时间呢?我们先来看下时间表达的一些特殊符号:

特殊符号

含义

*(星号)

代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。

,(逗号)

代表不连续的时间。比如" 0 8,12,16 * * *命令"就代表在每天的 8 点、12 点、16 点执行一次

-(中杠)

代表连续的时间范围。比如"0 5 * * 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行

/(正斜线)

代表每隔多久执行一次。比如"*/10 * * * *命令",代表每隔 10 分钟就执行一次

2、任务执行时间举例

30 20 * * * 在 20 点 30 分执行命令

0 14 * * 1 在每周一的 14 点 0 分执行命令

0 2 1,15 * * 在每月 1 号和 15号的凌晨 2 点 0 分执行命令

30 3 * * 1-5 在每周一到周五的凌晨 3 点 30 分执行命令

*/10 3 * * * 在每天的凌晨 3 点,每隔 10 分钟执行一次命令

0 0 1,15 * 1 在每月 1 号和 15号,每周一会执行命令

3、使用举例

让系统每隔 5 分钟就向 /tmp/test 文件中写入一行“test crontab”,我们来验证一下系统定时任务是否会正常执行:

$crontab -e

进入编辑界面之后,输入:

*/5 * * * * /bin/echo "test crontab" >> /tmp/test

然后按一下Esc,输入:wq!保存,保存之后,会在/var/spool/cron目录生成一个root文件,因为我是用root账户创建的。

bada19ea47c9a050297487b9a00586f9.png

5分钟后,我们去看看/tmp目录已经生成了test文件,并且文件中已经写入了一条test crontab。

让系统在每周一的凌晨1 点 10 分重启一次

5 5 * * 1 /sbin/shutdown -r now

注意事项

时间+需要执行的任务选项都不能为空,必须填写

crontab 定时任务的最小有效时间是分钟,最大有效时间是月。

在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错

在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易混淆,不便于管理



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文介绍了如何在Django项目中使用django-crontab库来设置和管理定时任务,包括安装、配置、编写定时任务以及常见问题的解决方案。通过具体实例,帮助开发者快速掌握在Django中实现自动化任务的方法。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
author-avatar
手机用户2502892647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有