Files
2026-09-26 11:59:39 +08:00

59 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# ============================================
# 查看备份定时任务与最近备份
# 用法:./status.sh
# ============================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CONF_FILE="$SCRIPT_DIR/backup.conf"
CRON_TAG="shanxia2.0-mysql-backup"
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo "=== crontab (${CRON_TAG}) ==="
if crontab -l 2>/dev/null | grep "${CRON_TAG}"; then
echo -e "${GREEN}定时任务已启用${NC}"
else
echo -e "${YELLOW}未安装定时任务(请执行 ./start.sh)${NC}"
fi
echo ""
echo "=== 配置 ==="
if [ -f "$CONF_FILE" ]; then
# shellcheck disable=SC1090
source "$CONF_FILE"
echo "MYSQL_HOST=${MYSQL_HOST:-}"
echo "MYSQL_PORT=${MYSQL_PORT:-}"
echo "MYSQL_USER=${MYSQL_USER:-}"
echo "MYSQL_DATABASE=${MYSQL_DATABASE:-}"
echo "BACKUP_DIR=${BACKUP_DIR:-}"
echo "LOG_DIR=${LOG_DIR:-}"
echo "KEEP_DAYS=${KEEP_DAYS:-}"
echo "LOG_TABLE_MAX_BYTES=${LOG_TABLE_MAX_BYTES:-}"
echo "IGNORE_DATA_TABLE=${IGNORE_DATA_TABLE:-}"
else
echo -e "${YELLOW}缺少 backup.conf${NC}"
exit 0
fi
echo ""
echo "=== 最近备份(最多 10 个)==="
if [ -d "${BACKUP_DIR:-}" ]; then
ls -lht "${BACKUP_DIR}"/"${MYSQL_DATABASE}"_*.sql.gz 2>/dev/null | head -10 || echo "(暂无备份文件)"
else
echo "(备份目录不存在: ${BACKUP_DIR:-})"
fi
echo ""
echo "=== 最近 cron 日志(末尾 30 行)==="
CRON_LOG="${LOG_DIR:-/iflytek/shanxia2.0/db-backup/logs}/cron-backup.log"
if [ -f "$CRON_LOG" ]; then
tail -n 30 "$CRON_LOG"
else
echo "(尚无日志: $CRON_LOG)"
fi