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

写一个计划任务脚本(定时执行)

shell脚本:

#!/bin/bash

# 定义源目录和目标目录
SOURCE_DIR="/var/log"
BACKUP_DIR="/backup"

# 获取当前日期和时间,精确到秒
CURRENT_DATETIME=$(date +%Y%m%d%H%M%S)

# 构建备份文件名
BACKUP_FILE="$BACKUP_DIR/$(date +%Y%m%d%H%M%S)log.tar.gz"

# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"

# 执行备份操作
tar -czf "$BACKUP_FILE" "$SOURCE_DIR"

# 删除七天前的备份文件
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +7 -delete

解释:

  1. 定义源目录和目标目录​:

    • SOURCE_DIR="/var/log":指定要备份的源目录为 /var/log
    • BACKUP_DIR="/backup":指定备份文件存放的目标目录为 /backup
  2. 获取当前日期和时间​:

    • CURRENT_DATETIME=$(date +%Y%m%d%H%M%S):获取当前的日期和时间,精确到秒。
  3. 构建备份文件名​:

    • BACKUP_FILE="$BACKUP_DIR/$(date +%Y%m%d%H%M%S)log.tar.gz":构建备份文件名,格式为 YYYYMMDDHHMMSSlog.tar.gz
  4. 创建备份目录(如果不存在)​​:

    • mkdir -p "$BACKUP_DIR":确保目标目录存在,如果不存在则创建。
  5. 执行备份操作​:

    • tar -czf "$BACKUP_FILE" "$SOURCE_DIR":使用 tar 命令将 /var/log 目录下的所有文件打包并压缩成 .tar.gz 格式,保存到指定的备份文件中。
  6. 删除七天前的备份文件​:

    • find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +7 -delete:使用 find 命令查找 /backup 目录下所有扩展名为 .tar.gz 且修改时间在七天前的文件,并将其删除。

最后一步:

为了确保脚本每天在 02:30 自动执行,你可以将以下内容添加到系统的 crontab 中:

  1. 打开 crontab 编辑器:

    crontab -e
  2. 添加以下行:

    30 2 * * * /path/to/backup_log.sh

    其中 /path/to/backup_log.sh 是 backup_log.sh 脚本的实际路径。

保存并退出编辑器后,系统会按照设定的时间自动执行备份脚本。

http://www.xdnf.cn/news/591733.html

相关文章:

  • PostgreSQL跨数据库表字段值复制实战经验分
  • 对于从事FPGA行业的人来说,需要掌握哪些知识
  • ant design 日历组件a-calendar如何汉化
  • 二分算法的补充说明
  • 表格单元格多行文本溢出写法
  • 基于SpringBoot的美食分享平台设计与开发(Vue MySQL)
  • 高效数据库管理新体验:SQLynx 3.7 功能解析与团队协作场景实践
  • 06算法学习_58. 区间和
  • PrimeVue菜单组件深度解析:构建高效能的Web导航系统
  • 3 tomcat原理
  • 多元回归的假设检验
  • Linux中 I/O 多路复用机制的边缘触发与水平触发
  • 鸿蒙运动开发:计算户外运动步频与步幅,与地图路线绘制
  • 链表-环形链表||
  • 3.8.2 利用RDD计算总分与平均分
  • Java 多线程编程:解锁高性能应用开发的密钥
  • RAG系统实战:文档切割与转换核心技术解析
  • Golang 访问 map 中的结构体字段时如何避免拷贝
  • 无anaconda搭建yolo11环境
  • 鸿蒙进阶——CMakelist、GN语法简介及三方库通用移植指南
  • 技术篇-2.3.Golang应用场景及开发工具安装
  • 晶振选型三大陷阱:工作温度、电压与负载电容的隐藏矛盾
  • 【AT32】 at32 软复位
  • mssql查询历史执行过的语句日志
  • 提示词工程驱动Mermaid图表生成:技术原理与实战案例
  • 力扣面试150题-- 二叉树展开为链表
  • MYSQL备份与恢复
  • 【灵动Mini-F5265-OB】环境搭建以及按键串口驱动
  • ganache-ui使用
  • OminiScenes代码阅读