当前位置: 首页 > news >正文

Linux 计划任务(crond) - 实践

Linux 计划任务(crond)

一、计划任务基础

1. 定义

crond 是 Linux 系统的计划任务工具,类似“闹钟”,可按设定的时间周期(分、时、日、月、周)自动执行命令或脚本。

2. 应用场景

(1)系统级任务
  • 临时文件自动清理
  • 系统信息采集(如硬件、性能数据)
  • 系统配置文件备份
  • 系统日志文件(/var/log 目录下)管理与切割
(2)用户级任务

二、核心配置文件

1. 主配置文件:/etc/crontab

文件包含计划任务执行的基础环境配置,内容如下:

SHELL=/bin/bash  # 执行命令的解释器
PATH=/sbin:/bin:/usr/sbin:/usr/bin  # 环境变量(命令搜索路径)
MAILTO=root  # 任务执行结果的邮件接收人(默认root)
# 任务定义格式:分 时 日 月 周 用户名 要执行的命令
# minute(0-59) hour(0-23) day(1-31) month(1-12/Jan-Dec) week(0-6/Sun-Sat) user-name command

2. 用户级任务文件

  • 每个用户的计划任务存储在 /var/spool/cron/[用户名]
  • 通过 crontab 命令操作,无需直接编辑该文件

三、时间表达式符号含义

在这里插入图片描述

计划任务的时间字段(分、时、日、月、周)支持以下符号,用于灵活定义执行周期:

符号含义示例
*匹配所有可能值(任意时间)小时字段为 * 表示每小时执行
,指定多个离散时间点分钟字段为 10,20,30 表示10、20、30分各执行一次
-指定时间范围小时字段为 8-18 表示8点到18点每小时执行
/指定时间间隔频率分钟字段为 */10 表示每10分钟执行;小时字段为 0-23/2 表示每2小时执行

四、crontab 命令用法

语法:crontab [选项]

选项功能
-e编辑当前用户的计划任务(创建/修改)
-r删除当前用户的所有计划任务
-l列出当前用户的计划任务清单
-u [用户名]操作指定用户的计划任务(需root权限)

说明:crontab -l/-e 本质是操作 /var/spool/cron/[用户名] 文件

五、计划任务编写注意事项

  1. 给任务添加注释,说明任务用途(# 开头)
  2. 脚本中需使用命令的绝对路径(避免因环境变量问题导致命令找不到)
  3. 任务结尾需重定向输出:&>/dev/null(屏蔽所有输出)或定向到日志文件(便于排查)
  4. 直接执行的命令也需使用绝对路径(如 /usr/bin/cp 而非 cp

六、计划任务调试方法

  1. 临时提高任务执行频率(如改为每分钟执行 */1 * * * *),快速验证效果
  2. 脚本执行结果重定向到日志文件(如 >> /var/log/test_cron.log 2>&1),查看输出是否正常
  3. 确认所有命令使用绝对路径,避免“command not found”错误
  4. 查看 /var/spool/mail/[用户名] 文件,检查任务执行结果邮件(失败信息会在此显示)

七、实操案例

案例1:root用户每分钟同步系统时间

  1. 测试同步命令:ntpdate times.aliyun.com(验证命令可正常执行)
    在这里插入图片描述
  2. 编辑计划任务:crontab -u root -e
  3. 添加任务:*/1 * * * * /usr/sbin/ntpdate times.aliyun.com &>/dev/null
  4. 查看任务:crontab -u root -l
    在这里插入图片描述

案例2:每分钟复制文件到指定目录

案例3:定时采集IP地址并追加到文件

  1. 编写脚本 /root/1.sh
#!/bin/bash
# 采集网卡IP地址(取inet后的IP,排除回环地址)
IP=$(/usr/sbin/ifconfig | /usr/bin/awk -F'[ /]+' '/inet>/ {print $3}')
# 输出IP到日志
/usr/bin/echo "[$(date +'%Y-%m-%d %H:%M:%S')] IP: $IP"
  1. 给脚本添加执行权限:chmod +x /root/1.sh
  2. 编辑计划任务:crontab -e
  3. 添加内容:*/1 * * * * /bin/bash /root/1.sh >> /root/ip_log.txt 2>&1

案例4:拒绝指定用户使用计划任务

  1. 创建普通用户:useradd jy
  2. 编辑拒绝列表文件:echo jy >> /etc/cron.deny(写入该文件的用户无法使用crond)
  3. 测试:切换用户 su - jy,执行 crontab -e 会提示无权限
http://www.jsqmd.com/news/112532/

相关文章:

  • 2025年靠谱的二维动画制作/动画制作热门制作机构榜 - 品牌宣传支持者
  • 2025云南汽修学校TOP5权威推荐:云南万通汽修学校教学质量高 - myqiye
  • 2025年铝合金压缩空气管道优质供应商排行榜,看哪家实力强? - 工业推荐榜
  • C++学习笔记 26 函数指针
  • 2025年口碑好的小视觉激光切割机厂家推荐及选择指南 - 品牌宣传支持者
  • 2025年评价高的沙水游玩PC管/灯饰灯具PC管厂家推荐及选购参考榜 - 行业平台推荐
  • 2025年年终祛痘沐浴露推荐:专家解析主流品牌核心成分及10强实力排名。 - 十大品牌推荐
  • 2025年靠谱的护手霜/滋润护手霜用户好评厂家排行 - 品牌宣传支持者
  • 2025年年终祛痘沐浴露推荐:聚焦核心祛痘成分效能的权威排名盘点 - 十大品牌推荐
  • 2025年热门的南京发电机厂家选购指南与推荐 - 行业平台推荐
  • 2025年评价高的铝框玻璃门平面铰链厂家最新TOP实力排行 - 行业平台推荐
  • 2025年海狗丸品牌推荐榜:基于成分合规性生产资质与购买渠道 - 资讯焦点
  • 2025年知名的铝框玻璃门针式铰链品牌厂家排行榜 - 行业平台推荐
  • 2025年靠谱的伺服行星减速机品牌厂家排行榜 - 行业平台推荐
  • 2025年比较好的吉林钢板租赁厂家实力及用户口碑排行榜 - 行业平台推荐
  • linux下安装go
  • 2025年年终维生素C产品推荐排行榜单:五大品牌客观评测与选购指南 - 十大品牌推荐
  • 2025年辽宁事业单位联考辅导机构推荐:正规、售后完善、有名机构全解析 - myqiye
  • 2025年年终维生素C产品推荐排行榜:五大品牌综合对比与选购指南 - 十大品牌推荐
  • 2025年云南汽车职业教育机构排名:云南万通汽修学校就业与服务口碑双优 - 工业推荐榜
  • 青岛软件开发公司 推荐青岛双电软件 - 博客万
  • 青岛软件开发公司 推荐青岛双电软件 - 博客万
  • 2025资质齐全的事业单位联考培训公司TOP5权威推荐:事业编制联考实力辅导公司甄选指南 - myqiye
  • 2025年口碑好的净化铝型材/无尘车间净化铝型材最新TOP品牌厂家排行 - 行业平台推荐
  • 2025年靠谱的电力管用户好评厂家排行 - 行业平台推荐
  • 2025年靠谱的电力管用户好评厂家排行 - 行业平台推荐
  • 2025年质量好的T恤定制厂家实力及用户口碑排行榜 - 行业平台推荐
  • 2025年比较好的抽屉滑轨厂家最新权威实力榜 - 行业平台推荐
  • 2025年知名的三折轨/不锈钢三折轨厂家最新TOP实力排行 - 行业平台推荐
  • 成都市川达节能保温材料有限公司 联系方式:材料应用与注意事项说明 - 品牌推荐