当前位置: 首页 > news >正文

Linux 定时任务 (Crontab)

原文链接

CSDN 的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话,关注一下吧 

缘起​

最近一个任务是,设备上会记录日志到 server.log,日积月累这文件大的一,现在给他每晚 0 点,重命名为一个新的文件,也就是把每天的日志放到一个单独的文件里

Crontab​

Crontab 是一个定时任务工具,用于在指定的时间执行指定的命令或脚本。Crontab 文件中包含了一系列的定时任务,每个任务由时间、命令或脚本的路径组成。

Crontab 命令​

  • crontab -e 命令可以编辑当前用户的 Crontab 文件
  • crontab -l 命令可以查看当前用户的 Crontab 文件
  • crontab -r 命令可以删除当前用户的 Crontab 文件

Crontab 语法​

* * * * * command
- - - - -
| | | | |
| | | | +----- 星期 (0 - 7) (Sunday=0 or 7)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)

command 前的五个值,每个都可以是以下的一种

  • 一个具体的值,例如 012 等
  • 一个 * 号,表示任意值
  • 一个逗号分隔的多个值,例如 1,2,3
  • 一个连字符分隔的值范围,例如 1-5
  • 一个斜杠分隔的值和步长,例如 */2

Crontab Macro

Crontab 提供了一些预定义的时间表达式,可以简化定时任务的编写

@yearly: 0 0 1 1 *@monthly: 0 0 1 * *@weekly: 0 0 * * 0@daily: 0 0 * * *@hourly: 0 * * * *@reboot: 重启时

Crontab 示例​

# 每天凌晨 1 点执行 /home/user/script.sh 脚本
0 1 * * * /home/user/script.sh# 每小时执行一次 /home/user/backup.sh 脚本
0 * * * * /home/user/backup.sh# 每五分钟执行一次 /home/user/check.sh 脚本
*/5 * * * * /home/user/check.sh# 每天午夜执行脚本
@daily /path/to/script.sh# 每周日执行备份脚本
@weekly /path/to/backup.sh# 系统重启后执行初始化脚本
@reboot /path/to/init.sh

每天 0 点重命名日志​

renamelog.sh

date | awk '{print "mv /var/log/server.log /var/log/server-"$6"-"$2"-"$3".log"}' | bash
date | awk '{print "mv /var/log/agent.log /var/log/agent-"$6"-"$2"-"$3".log"}' | bash
0 0 * * * ~/renamelog.s

http://www.mrgr.cn/news/55922.html

相关文章:

  • 第三章,使用DQL命令查询数据
  • IDEA如何查看所有的断点(Breakpoints)并关闭
  • 【Linux】【命令】diff
  • Synopsys工具中命令中filter选项
  • 自动化检查网页的TDK,python+selenium自动化测试web的网页源代码中的title,Description,Keywords
  • Qt中使用线程之QThread
  • 合成生物学:设计生命的新工具
  • 美图设计室
  • 开源限流组件分析(一):juju/ratelimit
  • 在 gRPC 中,客户端和服务端的 Protocol Buffers(Protobuf)生成的文件必须保持一致性,以确保通信正常。
  • 宠物用品在线商城:SpringBoot技术的应用与实践
  • JAVA同城外卖跑腿团购到店跑腿多合一APP系统小程序源码
  • 推荐一款免费备份还原软件:AOMEI Backupper
  • 深度学习:YOLO目标检测和YOLO-V1算法损失函数的计算
  • 使用Aspose.Slides 控件,使用 Java 在 PowerPoint 中创建条形图
  • 【C++】—— 多态(下)
  • ✨ 灵动AI视频:重塑视频创作,引领智能编辑新时代!✨
  • 智能三相电表主要应用于哪里
  • 【Unity】Unity中获取网络时间进行每日和每月刷新
  • JAVA二手交易发布闲置好物回收系统小程序源码
  • docker 下载netcore 镜像
  • 案例分享:制造业网管系统建设最佳实践
  • 代购系统:商品详情的“时空穿越者”
  • Python中怎样用AKShare获取基金最新数据?
  • 最大化生成式 AI 策略投资回报率的 3 种方法
  • 邦芒贴士:职场新人需远离的7种坏习惯