linux计划任务crond服务

来源:互联网 发布:帝国时代2兵种数据 编辑:程序博客网 时间:2024/06/06 03:22
一句话介绍crond服务:后台运行,自动执行设定的任务。

crond服务是默认安装,默认开机启动的

配置:

  • 系统级别: /etc/crontab  #root 用户可以直接编辑此文件来编辑计划任务

  • 用户级别:/var/spool/cron/用户名

crontab命令编写计划任务(推荐):

  • crontab -e # 默认为当前用户创建计划任务
    • 将任务写入一个 task.sh 的脚本文件
    • * * * * * * /usr/bin/bash tash.sh  # 设定时间 + bash命令绝对路径 + 写入计划任务的脚本文件task.sh
      • 常用时间格式(从右往左看):
        • 0 7 * * * # 每天7点
        • 0 */1 * * * # 每小时
        •  0 9 1,15 * * # 每月1号和15号的9点
        • @reboot # 启动时
        • @daily # 每天,相当于 0 0 * * *
      • /usr/bin/bash # 命令解释器,将逐行读取脚本内的命令,并执行
      • task.sh # 任务脚本,将命令写入脚本,不容易发生cron执行错误,且方便管理
  • crontab -e -u 用户名 # 为指定用户创建计划任务
  • crontab -l # 查看任务计划
  • crontab -r # 删除当前任务计划
  • 动态查看cron执行日志:tail -f /var/log/cron

实例:每天下午6点,自动打包备份nginx的日志

  • 新建任务脚本并命名为bak_accesslog.sh
    [root@bogon bak]# vim bak_accesslog.sh
    tar czf /bak/$(date '+%Y-%m-%d_%T').tar.gz /var/long/nginx/* # $() 取命令结果
  • [root@bogon bak]# crontab -e
    0 18 * * * /usr/bin/bash /bak/bak_accesslog.sh
  • 查看任务计划

  • 查看执行日志

  • 查看是否生成以时间命名的备份文件


原创粉丝点击