自动清理jira缓存的脚本

wen 实用脚本 15

本文目录导读:

自动清理jira缓存的脚本

  1. 通用清理脚本(推荐)
  2. 系统定时任务配置
  3. 手动清理命令
  4. Docker 版本清理脚本
  5. 注意事项
  6. 需要根据您的实际情况修改:

通用清理脚本(推荐)

#!/bin/bash
# Jira 缓存清理脚本
# 适用于 Jira Server/Data Center
# 设置日志
LOG_FILE="/var/log/jira-cache-clean.log"
exec >> "$LOG_FILE" 2>&1
echo "$(date) - 开始清理 Jira 缓存"
# 定义 Jira 目录(根据实际情况修改)
JIRA_HOME="/var/atlassian/application-data/jira"
JIRA_INSTALL="/opt/atlassian/jira"
# 清理缓存目录
CLEAN_DIRS=(
    "${JIRA_HOME}/caches"
    "${JIRA_HOME}/plugins/.osgi-plugins"
    "${JIRA_HOME}/tmp"
    "${JIRA_INSTALL}/temp"
)
for dir in "${CLEAN_DIRS[@]}"; do
    if [ -d "$dir" ]; then
        echo "清理目录: $dir"
        find "$dir" -type f -mtime +1 -delete 2>/dev/null
        find "$dir" -type f -mmin +60 -delete 2>/dev/null
        echo "完成: $(ls -la "$dir" 2>/dev/null | wc -l) 个文件"
    else
        echo "目录不存在: $dir"
    fi
done
# 清理日志文件(保留最近7天)
find "${JIRA_HOME}/log" -name "*.log*" -mtime +7 -delete
echo "日志清理完成"
# 清理索引缓存(谨慎使用)
# 如果需要完全重建索引,取消注释以下行
# echo "准备重建索引..."
# touch "${JIRA_HOME}/.jira-index-recreate"
# 重启 Jira 服务(需要 root 权限)
echo "重启 Jira 服务..."
systemctl restart jira 2>/dev/null || service jira restart 2>/dev/null
echo "$(date) - Jira 缓存清理完成"

系统定时任务配置

将脚本添加到 cron 定时任务:

# 编辑 crontab
crontab -e
# 添加以下内容(每天凌晨2点运行)
0 2 * * * /usr/local/bin/jira-cache-clean.sh
# 或者每6小时运行一次
0 */6 * * * /usr/local/bin/jira-cache-clean.sh

手动清理命令

如果只需要临时清理,也可以直接执行:

# 停止 Jira 服务
sudo systemctl stop jira
# 清理缓存目录
sudo rm -rf /var/atlassian/application-data/jira/caches/*
sudo rm -rf /var/atlassian/application-data/jira/tmp/*
# 启动 Jira 服务
sudo systemctl start jira

Docker 版本清理脚本

Jira 运行在 Docker 中:

#!/bin/bash
# Docker Jira 缓存清理
CONTAINER_NAME="jira"
# 清理缓存
docker exec $CONTAINER_NAME bash -c "
    rm -rf /var/atlassian/jira/caches/*
    rm -rf /var/atlassian/jira/tmp/*
    rm -rf /opt/atlassian/jira/temp/*
"
# 重启容器
docker restart $CONTAINER_NAME
echo "Docker Jira 缓存已清理并重启"

注意事项

  1. 备份重要数据:在运行自动清理脚本前,确保已备份 Jira 数据
  2. 测试环境验证:先在测试环境运行脚本
  3. 权限问题:确保脚本具有执行权限:chmod +x jira-cache-clean.sh
  4. 监控日志:定期检查清理日志 /var/log/jira-cache-clean.log
  5. 清理频率:不建议过于频繁清理,每天一次或在需要时手动执行

需要根据您的实际情况修改:

  • JIRA_HOME 路径
  • JIRA_INSTALL 路径
  • 系统服务管理方式(systemd/init.d)
  • 缓存保留时间(mtime 参数)

您可以根据自己的 Jira 安装方式选择对应的脚本,如果需要针对特定环境优化,请提供更多信息。

抱歉,评论功能暂时关闭!