IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用 systemd timer 替换 crontab

    Yiran\'s Blog发表于 2018-06-28 07:04:39
    love 0
    在日常工作中,经常会用到定时任务配合脚本自动处理一些重复性工作,通常我会选择 crontab & flock & script 这样的组合进行配置, 最近了解了 systemd timer ,发现虽然配置上比 crontab 要麻烦一点(需要编写两个配置文件), 但是其他的优势是 crontab 不具备的。 systemd timer 优势 链接到标题 systemd 会自动将定时任务事件记录在 systemd 日志中,可以通过 journalctl 轻松查找 可以配置定时器之间的依赖关系 定时器启动/关闭不需要再注释掉 crontab 中的某一行或移除 /etc/cron.d/ 下的某个文件,而是直接 start/stop/enable/disable 控制 自带锁机制,无需通过 flock 或脚本中添加锁文件的方式控制任务执行与否 使用方式 链接到标题 例如,我想要定时备份数据从开发机到服务器上,通常重要的文件采用 inotify & rsync 的方式同步,优先级较低的采用定时同步方式。 crontab 配置方式 链接到标题 编写 crontab 配置文件 链接到标题 crontab -e (或者在 /etc/cron.*/ 对应路径下编写配置文件) 0 1 * * * flock /usr/local/bin/system-backup.sh 手动触发定时任务 链接到标题 /usr/local/bin/system-backup.sh systemd timer 配置方式 链接到标题 编写 timer 配置文件 链接到标题 [Unit] Description=Perform system backup [Timer] OnCalendar=daily [Install] WantedBy=timers.


沪ICP备19023445号-2号
友情链接