type
status
date
slug
summary
category
tags
create_time
May 18, 2025 12:50 PM
icon
password
my_create_time
📌 背景介绍
在日常使用 Mac 的过程中,我们常常需要定期执行某些脚本或程序,比如:
- 每天备份一次数据库
- 每小时监测系统性能
- 每周清理日志文件
- 每月归档工作目录
虽然 macOS 是基于 Unix 的系统,但与 Linux 的差异使得部分定时任务配置方式略有不同,因此本文将从使用 crontab 讲解如何在 macOS 上实现定时任务调度。
🧩 使用场景举例
使用场景 | 描述 |
🗂 数据自动备份 | 每天凌晨 2 点备份指定文件夹到外接硬盘 |
🧹 日志清理 | 每周清理系统或项目日志,释放磁盘空间 |
🔁 自动拉取代码 | 每小时拉取 Git 仓库内容,保持代码同步 |
📦 本地部署脚本自动化 | 每月运行一次部署脚本,生成报告或归档内容 |
⚙️ 配置方法
使用 crontab
1、 编辑当前用户的 crontab 文件
2、 添加定时任务语法
从左到右,每个
*
对应字段如下:字段 | 含义 |
分钟(0-59) | * 任意值 |
小时(0-23) | ㅤ |
日期(1-31) | ㅤ |
月份(1-12) | ㅤ |
星期(0-7) | 0 和 7 都是星期天 |
示例:每天凌晨 2 点执行备份脚本
3、 查看当前 crontab 任务
⚠️ 注意事项:
- 使用绝对路径,尤其是可执行文件和脚本路径。
- 环境变量可能与终端不同,可在脚本顶部加入:
真实案例
Mac在共享目录操作文件时,会自动生成一堆隐藏文件,这些文件在其他平台如Windows是用不到的,看着还碍眼,因此可以加个定时任务,清理指定目录下的._隐藏文件。
1、编写脚本
vim ~/clean_appledouble.sh
2、配置定时任务
打开终端,执行:
crontab -e
添加如下行:
说明:每天凌晨1点执行一次清理任务
将日志写入到/tmp/clean_appledouble.log 文件
3、添加 cron 到“全盘访问权限”
打开系统设置(System Settings)→ 左侧点击 “隐私与安全性”(Privacy & Security)。
在右侧找到并点击 “全盘访问权限”(Full Disk Access)。
点击下方的 + 按钮,弹出文件选择窗口。
在弹出的选择器中,按下快捷键:
Command + Shift + G
然后输入路径:
/usr/sbin/cron
选中 cron 文件并确认添加。

PS:如果不添加权限,当cron执行时,就会打印日志:find: /Volumes/<你的共享目录>: Operation not permitted 表明 cron 执行 find 命令时由于权限问题无法访问该目录。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若您认可我的内容,欢迎 请我喝杯咖啡~
- 作者:lusyoe
- 链接:https://blog.lusyoe.com/article/mac-scheduled-tasks-setup
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。