温馨提示×

ubuntu 定时器怎么升级

小樊
41
2025-12-16 06:59:13
栏目: 智能运维

Ubuntu 定时器升级与维护指南

先明确你的“定时器”类型

  • 系统级定时任务常见两类:一是传统的 cron(通过 crontab、/etc/crontab 管理),二是 systemd 定时器(如 APT 的每日更新/升级定时器)。两者“升级”的含义不同:cron 是安装/更新软件包本身;systemd 定时器是调整时间、频率或行为。

升级或修复 cron

  • 升级软件包:sudo apt update && sudo apt install --only-upgrade cron
  • 若系统提示 Unit cron.service not found,说明未安装,执行:sudo apt install cron && sudo systemctl enable --now cron
  • 验证:systemctl status cron;crontab -l 查看当前用户任务。

升级或调整 APT 的 systemd 定时器

  • 升级相关软件包:sudo apt update && sudo apt install --only-upgrade unattended-upgrades
  • 查看与启用定时器:
    • 查看状态:systemctl status apt-daily.timer;systemctl status apt-daily-upgrade.timer
    • 立即启用/启动:sudo systemctl enable --now apt-daily.timer;sudo systemctl enable --now apt-daily-upgrade.timer
  • 默认行为与时间:
    • apt-daily.timer 通常每天触发 06:0018:00(两次),用于执行 apt 更新检查与下载。
    • apt-daily-upgrade.timer 通常每天 06:00 触发,用于执行无人值守升级安装。
  • 按需修改时间(示例改为 02:30 和 14:30):
    • 编辑定时器:sudo systemctl edit --full apt-daily.timer,将 OnCalendar= 改为 02:30,14:30
    • 编辑升级定时器:sudo systemctl edit --full apt-daily-upgrade.timer,将 OnCalendar= 改为 02:30
    • 重新加载并生效:sudo systemctl daemon-reload && sudo systemctl restart apt-daily.timer apt-daily-upgrade.timer
  • 说明:上述两个定时器分别触发 /usr/lib/apt/apt.systemd.daily 的 update 与 install 动作,实现检查更新与自动安装。

验证与测试

  • 模拟无人值守升级(不实际改动系统):sudo unattended-upgrades --dry-run --debug
  • 查看定时器最近触发与日志:
    • 查看日志:sudo journalctl -u apt-daily.timer -u apt-daily-upgrade.timer -b
    • 查看 apt 日常脚本日志:sudo journalctl -u apt-daily.service -u apt-daily-upgrade.service -b
  • 如需临时关闭自动升级:sudo systemctl disable --now apt-daily-upgrade.timer;如需恢复:sudo systemctl enable --now apt-daily-upgrade.timer。

0