Skip to content

cron install —— 注册定时任务 ​

在系统调度器中注册 certiman cron 定时任务。不同平台使用不同的调度器:

平台使用的调度器用户查看 / 编辑方式
macOS用户级 crontabcrontab -l / crontab -e
Linux用户级 crontabcrontab -l / crontab -e
Windows任务计划(schtasks)schtasks /query,或图形化「任务计划程序」

定时任务条目使用固定标识:crontab 中为 # BEGIN certiman-cron 与 # END certiman-cron 之间的标记块,Windows 中为任务名 certiman-cron。cron uninstall 与卸载脚本只清理带有该标识的条目,crontab 中其他含 certiman 字样的自建任务不受影响。

Windows:必须以管理员身份运行终端

certiman cron install 通过 schtasks 注册系统级任务,必须在「以管理员身份运行」的 PowerShell 或 CMD 中执行。在普通权限终端中注册会被系统拒绝,CertiMan 会输出 schtasks 的原始报错,其中包含 Access is denied 或 拒绝访问。安装 certiman 后,请以管理员身份重新打开 PowerShell,再运行本命令。

macOS 权限

若 deploy hook 需要写入 ~/Documents / ~/Downloads / ~/Desktop 等 macOS Privacy 保护目录,需要在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中为 /usr/sbin/cron 授权;未授权时 hook 将静默失败。

用法 ​

bash
certiman cron install [flags]

参数 ​

flag类型默认说明
--store-credentialboolfalse仅 Windows:使用存储凭据模式而非 S4U 模式

Windows:S4U vs 存储凭据

  • 默认(S4U):无需输入密码,但要求当前账户具备「Log on as a batch job」权限;域账户或本地 Administrators 组中的账户通常已具备该权限
  • 存储凭据(--store-credential):注册时要求输入一次密码,密码由 Windows 凭据管理器加密保存;适用于 S4U 不可用的环境

选择哪种模式取决于域策略。首次注册时若 S4U 注册失败,CertiMan 会给出提示,此时运行 certiman cron install --store-credential 重新注册。

示例 ​

bash
# macOS / Linux:注册用户级 crontab 条目
certiman cron install

# Windows S4U 模式:无需密码
certiman cron install

# Windows 存储凭据模式:会追问一次密码
certiman cron install --store-credential

覆盖已注册的任务

同名任务已存在时,cron install 报错并拒绝重复注册。如需覆盖已有任务,使用 -f / --force。

输出 ​

0成功(macOS / Linux · crontab)
text
✔ 定时任务已注册(crontab)
i 运行 `certiman cron status` 查看下次触发与续期计划
0成功(Windows · 任务计划)
text
✔ 定时任务已注册(schtasks:\certiman-cron)
i 运行 `certiman cron status` 查看下次触发与续期计划

相关命令 ​

  • cron —— 执行一轮续期扫描(系统调度器调用的命令)
  • cron uninstall —— 反注册
  • cron status —— 查看当前定时任务状态