核心内容摘要
甜心糖vlog:一口甜蜜,万千心情,点亮你的日常闪光时刻!
在 CentOS 7 系统中通过定时任务自动执行 Shell 脚本CentOS 7 默认使用crontab工具实现定时任务这是系统自带、稳定可靠的方案接下来完整讲解从脚本准备、权限配置到 crontab 编写、管理的全流程。
前置准备编写可执行的 Shell 脚本首先编写你的业务脚本以/home/test.sh为例脚本内容可以根据需求修改#!/bin/bash# 示例脚本输出当前时间到日志文件用于验证定时任务执行echo任务执行时间$(date%Y-%m-%d %H:%M:%S)/home/test_cron.log关键配置赋予脚本执行权限CentOS 中脚本默认无执行权限必须手动添加chmodx /home/test.sh测试脚本可用性先手动执行脚本确认无报错、功能正常避免定时任务执行失败/home/test.sh# 执行后查看日志验证输出cat/home/test_cron.log
CentOS 7 定时任务核心crontab 服务
检查 crond 服务状态CentOS 7 采用systemd管理服务定时任务依赖crond守护进程先确认服务运行正常# 查看服务状态systemctl status crond# 若未运行启动服务systemctl start crond# 设置开机自启推荐systemctlenablecrond# 重启服务修改配置后可执行systemctl restart crond
crontab 时间格式规则crontab 定时规则共6个字段格式分 时 日 月 周 要执行的命令/脚本路径字段取值范围说明分
每分钟的第几分钟执行时
每天的第几小时执行日
每月的第几天执行月
每年的第几月执行周
和7都代表周日每周的星期几执行常用通配符*代表所有可能的值每分/每时/每日都执行*/n每隔n个单位执行一次,指定多个离散时间点-指定连续时间范围
编辑定时任务执行命令编辑当前用户的定时任务配置文件推荐普通任务用普通用户系统级任务用root# 编辑当前用户定时任务crontab-e首次执行会提示选择编辑器输入1选择vim即可。
示例配置写入配置文件结合前面的测试脚本编写常用定时规则#
每分钟执行一次脚本* * * * * /home/test.sh#
每天凌晨2点执行02* * * /home/test.sh#
每周日凌晨3点执行03* *0/home/test.sh#
每月1号、15号的10点执行0101,15* * /home/test.sh#
工作日周一至周五18:00执行018* *
/home/test.sh#
每10分钟执行一次*/10 * * * * /home/test.sh重要补充路径与输出重定向绝对路径优先脚本、命令、日志文件必须使用绝对路径crontab 运行时环境变量极简相对路径会导致执行失败。
捕获执行日志建议添加输出重定向排查任务异常# 标准输出和错误输出都写入日志文件* * * * * /home/test.sh/home/test_cron.log21追加写入日志21将错误输出重定向到标准输出统一记录
crontab 常用管理命令# 查看当前用户的定时任务列表crontab-l# 删除当前用户所有定时任务谨慎使用crontab-r# 编辑其他用户的定时任务root权限执行crontab-u 用户名 -e
四、