jira定时备份及定时删除

定时备份脚本
需要配置免密登录

#!/bin/bash

# 设置当前日期,格式为 yyyy-mm-dd
DATE=$(date +\%Y-\%m-\%d)

# 对端服务器端口
PORT="端口"
BACKUPIP="地址"

# 对端服务器存储路径
FIBACKUP_DIR="/Backup/jira"

# 设置数据库用户名和密码
DB_USER="账号"
DB_PASS="密码"
DB_NAME="数据库名"

# 设置本地备份文件存储路径
BACKUP_DIR="/var/backup"

# 设置备份文件名(包含日期)
BACKUP_FILE="$BACKUP_DIR/jira_backup_$DATE.sql"

# 执行备份命令
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE

# 传输备份文件到对端服务器

scp -P ${PORT}  $BACKUP_FILE  root@${BACKUPIP}:${FIBACKUP_DIR}

定时删除脚本

只会保留当天的四份

#!/bin/bash

# 设定目标目录
backup_dir="/var/backup"

# 获取当前日期及前三天的日期(格式:YYYY-MM-DD)
current_date=$(date +%Y-%m-%d)
three_days_ago=$(date -d "3 days ago" +%Y-%m-%d)

# 遍历文件
for file in "$backup_dir"/jira_backup_*.sql; do
    # 提取文件的日期部分 (例如 2025-03-21)
    file_date=$(basename "$file" | sed -e 's/jira_backup_//g' -e 's/.sql//g')
    # 如果文件日期在当前日期之前,并且不在保留的日期范围内,删除该文件
    if [[ "$file_date" < "$three_days_ago" ]]; then
        rm -f "$file"
        echo "删除文件: $file"
    fi
done

crontab如下编写

0 1 * * * /opt/backup_jira.sh
0 2 * * * /opt/delete_jira.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值