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

crontab——你的自动化打工人

咕嘎讲堂crontab——你的自动化打工人“人类最大的进步就是学会了让机器帮自己干活。”——咕嘎 crontab 是什么crontab cron table是 Linux 系统中用于定时执行任务的工具。简单说你想让系统每天凌晨3点自动备份每周一早上8点自动发邮件每个月1号自动清理日志crontab 都能帮你搞定。它就像是你的私人秘书——你把任务安排写进表里它就会按时执行全年无休不领工资。咕嘎注释cron 这个名字来自希腊语 “chronos”时间所以它天生就是干时间管理的活儿。 crontab 的核心组成Linux 系统中的定时任务体系由几个关键部分构成组件说明crond 守护进程后台运行的服务负责每分钟检查一次是否有任务要执行crontab 命令用户管理定时任务的命令行工具crontab 文件存放用户定时任务配置的文件cron 日志记录任务执行情况一般位于 /var/log/cron 或通过 journalctl 查看crond 守护进程—— 幕后的打工人查看 crond 是否在运行systemctl status crond如果没运行启动它systemctl start crond设置开机自启systemctlenablecrond咕嘎注释crond 就像一个每分钟都要看一次表的强迫症患者——“现在几点了有任务吗没有好的等下一分钟再看。”⚙️ crontab 工作原理详解执行流程code复制┌─────────────────────────────────────────────────────────┐│ crontab 工作原理 │└─────────────────────────────────────────────────────────┘│▼┌─────────────────────────────────┐│ 用户通过 crontab -e 编辑任务 ││ 配置保存到 /var/spool/cron/ │└─────────────────────────────────┘│▼┌─────────────────────────────────┐│ crond 守护进程每分钟醒来 ││ 检查当前时间是否匹配任务 │└─────────────────────────────────┘│┌─────┴─────┐▼ ▼┌─────────┐ ┌─────────┐│ 匹配成功 │ │ 没有匹配 ││ 执行任务 │ │ 继续睡觉 │└─────────┘ └─────────┘│▼┌─────────────────────────────────┐│ 任务输出发送到用户邮箱 ││ 或重定向到指定文件 │└─────────────────────────────────┘任务配置文件位置文件路径说明/var/spool/cron/用户名每个用户的 crontab 文件/etc/crontab系统级 crontab可指定执行用户/etc/cron.d/系统级任务目录存放单独的任务文件 crontab 语法详解基本格式┌───────────── 分钟 (0 - 59)│ ┌───────────── 小时 (0 - 23)│ │ ┌───────────── 日期 (1 - 31)│ │ │ ┌───────────── 月份 (1 - 12)│ │ │ │ ┌───────────── 星期几 (0 - 7, 0和7都是周日)│ │ │ │ │* * * * * 要执行的命令特殊符号速查表符号含义例子*任意值* * * * * 每分钟执行,列举多个值1,15,30 * * * * 每小时的第1、15、30分钟执行-范围0 9-17 * * * /间隔*/5 * * * * 每5分钟执行L最后一天日期/星期0 0 L * * 每月最后一天凌晨执行 实用配置示例基础示例# 每分钟执行一次* * * * * /path/to/script.sh# 每小时整点执行0* * * * /path/to/script.sh# 每天凌晨2点执行02* * * /path/to/script.sh# 每周一早上8点30分执行308* *1/path/to/script.sh# 每月1号和15号凌晨执行001,15* * /path/to/script.sh# 每隔10分钟执行一次*/10 * * * * /path/to/script.sh# 工作日周一到周五早上9点执行09* *1-5 /path/to/script.sh# 每季度第一天凌晨执行0011,4,7,10 * /path/to/script.sh 核心任务每天凌晨3点执行备份脚本配置示例# 编辑当前用户的 crontabcrontab-e# 添加以下行每天凌晨3点执行备份脚本03* * * /home/user/backup.sh/var/log/backup.log21时间字段解读0 3 * * *│ │ │ │ ││ │ │ │ └─── 星期几任意│ │ │ └───── 月份任意│ │ └─────── 日期*任意│ └───────── 小时3凌晨3点└─────────── 分钟0整点完整备份脚本示例#!/bin/bash# backup.sh - 自动备份脚本# 配置变量BACKUP_DIR/backupSOURCE_DIR/var/www/htmlDATE$(date%Y%m%d_%H%M%S)LOG_FILE/var/log/backup.log# 记录开始时间echo$LOG_FILEecho备份开始时间:$(date)$LOG_FILE# 创建备份目录mkdir-p$BACKUP_DIR# 执行备份使用 tar 打包压缩tar-czf$BACKUP_DIR/backup_$DATE.tar.gz$SOURCE_DIR# 检查备份是否成功if[$?-eq0];thenecho✅ 备份成功:$BACKUP_DIR/backup_$DATE.tar.gz$LOG_FILEelseecho❌ 备份失败$LOG_FILEfi# 删除7天前的旧备份自动清理find$BACKUP_DIR-namebackup_*.tar.gz-mtime7-deleteecho备份结束时间:$(date)$LOG_FILE赋予执行权限chmodx /home/user/backup.sh crontab 常用命令# 编辑当前用户的 crontabcrontab-e# 查看当前用户的 crontabcrontab-l# 删除当前用户的所有定时任务crontab-r# 删除前确认提示crontab-ri# 指定用户编辑需要 root 权限crontab-uusername-e# 指定用户查看crontab-uusername-l⚠️ 常见坑点与避坑指南坑点1环境变量问题问题crontab 执行时的环境变量和登录时不同导致命令找不到或执行失败。解决方案# 方法1在脚本中加载环境变量source/etc/profile# 方法2使用绝对路径03* * * /usr/bin/python3 /home/user/script.py# 方法3在 crontab 中设置 PATHPATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin03* * * /home/user/backup.sh坑点2输出没地方去问题任务执行了但看不到输出邮件也堆积如山。解决方案# 重定向输出到日志文件03* * * /home/user/backup.sh/var/log/backup.log21# 或者直接丢弃输出安静模式03* * * /home/user/backup.sh/dev/null21坑点3时区问题问题服务器时区和你的时区不一致导致任务执行时间错位。解决方案# 查看服务器时区timedatectl# 在脚本中指定时区TZAsia/ShanghaiexportTZ# 或者在 crontab 中设置CRON_TZAsia/Shanghai03* * * /home/user/backup.sh坑点4脚本没执行权限问题脚本写好了但 crontab 执行时报权限错误。解决方案# 赋予执行权限chmodx /home/user/backup.sh# 或者用解释器直接运行03* * * /bin/bash /home/user/backup.sh 调试技巧查看任务执行日志# 查看 cron 服务日志tail-f/var/log/cron# 或使用 journalctlCentOS 7journalctl-ucrond-f测试任务是否能正常执行# 手动运行脚本检查是否有错误/bin/bash-x/home/user/backup.sh# 查看 cron 环境下的变量* * * * *env/tmp/cron_env.txt快速验证 crontab 是否生效# 设置一个每分钟执行的任务验证是否正常* * * * *echocrontab 工作正常$(date)/tmp/crontab_test.log# 等几分钟后查看tail-f/tmp/crontab_test.log 系统级 crontab 示例/etc/crontab 文件格式略有不同可以指定执行用户# /etc/crontab 格式SHELL/bin/bashPATH/sbin:/bin:/usr/sbin:/usr/binMAILTOroot# 格式分 时 日 月 星期 用户 命令03* * * root /home/user/backup.sh304* *0mysql /usr/local/bin/mysql_backup.sh 特殊目录预定义时间系统还提供了几个特殊目录把脚本放进去就会自动定时执行目录执行频率/etc/cron.hourly/每小时执行/etc/cron.daily/每天执行/etc/cron.weekly/每周执行/etc/cron.monthly/每月执行# 把脚本放到每日执行目录cp/home/user/backup.sh /etc/cron.daily/chmodx /etc/cron.daily/backup.sh咕嘎注释这是懒人的福音不用记 crontab 语法丢进去就完事儿结合实际需求的应用:除了备份脚本,crontab还能用于定时发送邮件、执行数据库维护任务、定时启动或关闭服务等。配置好crontab任务后,可以结合shell脚本来实现更为复杂的功能,比如说带有错误处理和日志记录功能的备份流程。 咕嘎结语crontab 让系统替你打工的神器。记住核心公式分 时 日 月 周 命令掌握这个你就能让 Linux 替你完成各种重复性工作从此告别手动执行。“真正的高手是懂得偷懒的人——让机器帮你干活自己喝茶去。”——咕嘎

相关文章:

crontab——你的自动化打工人

咕嘎讲堂:crontab——你的自动化打工人 “人类最大的进步,就是学会了让机器帮自己干活。”——咕嘎 📌 crontab 是什么? crontab cron table,是 Linux 系统中用于定时执行任务的工具。 简单说:你想让系…...

基于Socket通信的西门子S7-1200与ABB机器人实时数据交换实践

1. 工业自动化中的跨品牌设备通信挑战 在现代化工厂的生产线上,经常能看到西门子PLC和ABB机器人协同工作的场景。这种组合在汽车制造、3C电子等行业尤为常见,但不同品牌设备之间的数据互通往往让工程师头疼。我去年就遇到过这样一个项目:客户…...

抖音直播WebSocket数据采集:实时弹幕、用户、礼物数据抓取完整指南

抖音直播WebSocket数据采集:实时弹幕、用户、礼物数据抓取完整指南 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 痛点分…...

四川厨房设备平台的赋能逻辑与核心优势

四川作为餐饮产业大省,川味餐饮(火锅、川菜、特色小吃等)的规模化发展,推动商用厨房设备市场持续扩容。据行业数据统计,四川商用厨房设备市场年增速稳定在12%,但行业长期存在的产业链割裂、供需匹配低效、服…...

YOLO12消防应急实战:烟雾火焰检测+逃生通道识别双模部署

YOLO12消防应急实战:烟雾火焰检测逃生通道识别双模部署 1. 引言:当AI成为消防员的“火眼金睛” 想象一下,在一个大型商场或工厂里,火灾初期的烟雾刚刚升起,一个无形的“眼睛”瞬间就捕捉到了这一异常,同时…...

PHP全局使用局部变量+参数默认值+静态变量

自定义函数、返回值、返回值指的当函数调用结束以后,该函数给外部调用处返回一些列的数据数据类型任意:八个数据类型。如果函数没有任何返回值,可以理解为函数返回的是NULL。PHP中函数可以没有返回值。 参数传值 传值方式:值传递&…...

使用StructBERT增强Elasticsearch的语义搜索能力

使用StructBERT增强Elasticsearch的语义搜索能力 1. 引言 传统搜索引擎在面对"帮我找昨天开会讨论的那个产品设计方案"这样的自然语言查询时,往往表现得力不从心。它们依赖于关键词匹配,无法理解查询背后的真实意图,导致返回的结…...

【BLheli_S】P01 上位机参数修改、编译生成固件以及脱机烧录教程

目录 1.1 脱机烧录器购买 1.2 BLHeli_S相关资料下载 1.2.1 源码结构分析: 1.3 BLHeli_S 工程文件创建 1.3.1 Keil-C51 工程创建 1.4 BLHeli_S 参数修改 1.5 BLHeli_S 引脚定义说明 1.6 脱机烧录教程配置 1.1 脱机烧录器购买 阿莫智能设备 1.2 BLHeli_S相关资料下载 源码下载 上…...

AIGlasses_for_navigation开发利器:VS Code与Jupyter Notebook环境配置

AIGlasses_for_navigation开发利器:VS Code与Jupyter Notebook环境配置 如果你正准备上手AIGlasses_for_navigation项目,或者任何类似的智能硬件与AI结合的项目,那么一个趁手的开发环境就是你的第一把武器。今天咱们不聊复杂的算法&#xff…...

85个CV模型变体!计算机视觉基础模型最全盘点

85个CV模型变体!计算机视觉基础模型最全盘点做CV的朋友都知道,标注数据太烧钱。研究员们为了不花钱也能训练模型,想出了各种办法:用无标签数据、用网上爬的图文配对、甚至用多模态数据,通过对比学习、掩码重建这些套路…...

从传统互联网到AI Agent:薪资涨幅有多夸张

第一,也是最重要的,别光看书、别光听课,你得动手干出一个东西来; 如果实在不知道咋整,能够直接抄知学堂新出的 「AILLM使用研发」 ,里面很多实战项目case,自己跟着教程做写到简历里,…...

一文读懂计算机视觉需要哪些数学基础

一文读懂计算机视觉需要哪些数学基础 标签:#计算机视觉、#线性代数、#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习### 一、痛点引入:为什么很多人怕CV数学?真相是什么?### 二、CV必备数学:必须掌握的和…...

Windows任务栏透明美化终极指南:TranslucentTB完整配置教程

Windows任务栏透明美化终极指南:TranslucentTB完整配置教程 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB是一…...

小红书运营效率革命:告别切换,私域管理一步到位

还在为管理多个小红书账号焦头烂额?反复登录切换、消息分散遗漏、深夜咨询无人应答,这些痛点是不是每天都在消耗你的精力?现在,一套小红书私域管理系统,彻底打破多账号运营困局,让你的私域运营效率直线飙升…...

美胸-年美-造相Z-Turbo参数详解:Xinference模型注册、Gradio端口映射与资源分配

美胸-年美-造相Z-Turbo参数详解:Xinference模型注册、Gradio端口映射与资源分配 1. 引言:从模型到服务的一站式部署 如果你手头有一个精心调校好的文生图模型,比如“美胸-年美-造相”这个LoRA版本,怎么才能让它变成一个随时可以…...

AzurLaneAutoScript技术深度解析:重构碧蓝航线自动化体验的智能引擎

AzurLaneAutoScript技术深度解析:重构碧蓝航线自动化体验的智能引擎 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript …...

基于STM32的智能温控系统设计与物联网集成

1. 从零搭建智能温控系统的核心思路 第一次接触STM32温控项目时,我被各种专业术语搞得头晕眼花。后来发现只要抓住三个关键点:精准测温、智能调控、远程操控。就像给房间装空调,首先得知道当前温度(传感器)&#xff0c…...

AI智能文档扫描仪环境隔离:虚拟环境部署避坑指南

AI智能文档扫描仪环境隔离:虚拟环境部署避坑指南 你是不是也遇到过这种情况:好不容易找到一个好用的工具,比如这个AI智能文档扫描仪,在自己的电脑上部署时,却因为各种环境依赖冲突而失败?或者,…...

智慧消防新防线:海思Cat.1模组赋能烟感设备,筑牢城市安全“防火墙”

一、案例背景:传统烟感的“三大痛点”在城市消防安全管理中,尤其是老旧小区、九小场所(小商店、小旅馆等)、地下室及出租屋等场景,传统独立式烟感报警器面临着严峻挑战:信号覆盖难:NB-IoT在部分…...

Agent工具生态:搜索/API/代码/数据库工具大盘点

例如数据分析场景中,模型生成Python脚本用于生成表格、绘制图表,再输出执行结果。 相比自然语言回答,精准性和可复现性更高,但对执行环境要求高,需在隔离受控环境中运行以规避风险。 Agentic RAG 在普通RAG(“召回-增强…...

福禄克DSX-602认证分析仪科普小知识

福禄克(FLUKE)DSX-602 是一款专业级的铜缆认证分析仪,专为 **Cat 6A(超六类)** 及以下网线的工程验收、性能认证和故障诊断设计。一、核心定位与参数 测试范围:Cat 3/Class C ~ Cat 6A/Class EA 双绞线铜缆…...

告别PS!用SAM 3镜像快速分割图片视频中的物体,效果实测惊艳

告别PS!用SAM 3镜像快速分割图片视频中的物体,效果实测惊艳 1. 引言:为什么你需要SAM 3? 想象一下这样的场景:你正在编辑一段产品展示视频,需要把背景中的路人全部去掉;或者你有一张复杂的风景…...

无需前端知识!用Nanbeige 4.1-3B Streamlit UI快速搭建个人AI助手

无需前端知识!用Nanbeige 4.1-3B Streamlit UI快速搭建个人AI助手 1. 为什么选择Nanbeige Streamlit WebUI 如果你一直想搭建一个个性化的AI助手,但又担心需要学习复杂的前端开发技术,那么这个Nanbeige 4.1-3B Streamlit WebUI就是为你量身…...

DeepSeek-OCR · 万象识界落地实践:律所案卷扫描件→带章节锚点的Markdown知识库

DeepSeek-OCR 万象识界落地实践:律所案卷扫描件→带章节锚点的Markdown知识库 1. 项目背景与价值 在律师事务所的日常工作中,案卷管理一直是个令人头疼的问题。大量的纸质案卷需要扫描存档,但这些扫描件往往只是静态的图片文件&#xff0c…...

CMU15-445 P0通关后,我总结了这份WSL2 + VSCode + CMake环境配置的避坑清单

CMU15-445 P0通关实战:WSL2VSCodeCMake环境配置的深度避坑指南 环境搭建的常见陷阱与系统性解决方案 在数据库系统学习的起点,环境配置往往成为第一道门槛。不同于简单的安装教程,这里将剖析WSL2VSCodeCMake组合配置中的典型问题链&#xff0…...

2026年手机测控深度测评:优质服务商与推荐厂家全景解析

随着智能网联汽车技术的快速发展,手机控车作为人车交互的重要入口,已成为车企智能化升级的关键模块。本测评旨在通过对行业代表性企业的深度剖析,为采购方与合作伙伴提供客观、结构化的决策参考。本文基于公开资料、技术文档及行业逻辑推演&a…...

解决LoRA测试痛点:Jimeng系统如何防止显存爆炸与效果失真

解决LoRA测试痛点:Jimeng系统如何防止显存爆炸与效果失真 1. LoRA测试的传统痛点 在模型微调领域,LoRA(Low-Rank Adaptation)技术因其参数高效性而广受欢迎。然而在实际测试过程中,开发者常常面临两大核心挑战&#…...

保姆级教程:用Qwen3-Embedding-0.6B构建你的第一个语义检索系统

保姆级教程:用Qwen3-Embedding-0.6B构建你的第一个语义检索系统 1. 引言:为什么需要语义检索系统? 想象一下,你正在管理一个包含数千份文档的知识库。当用户搜索"如何优化深度学习模型"时,传统的关键词匹配…...

Zotero Citation插件完整指南:三步告别Word文献引用烦恼

Zotero Citation插件完整指南:三步告别Word文献引用烦恼 【免费下载链接】zotero-citation Make Zoteros citation in Word easier and clearer. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-citation 文献引用是学术写作中最耗时且容易出错的部分。…...

千问3.5-9B系统盘清理助手:智能分析C盘空间与生成清理方案

千问3.5-9B系统盘清理助手:智能分析C盘空间与生成清理方案 1. 引言:C盘爆满的烦恼与智能解决方案 电脑用久了,C盘变红几乎是每个Windows用户都会遇到的烦恼。系统运行变慢、软件无法更新、甚至蓝屏死机都可能与C盘空间不足有关。传统的手动…...