#!/bin/bash # ============================================ # 移除定时备份任务(不删已有备份文件) # 用法:./stop.sh # ============================================ set -euo pipefail CRON_TAG="shanxia2.0-mysql-backup" RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' log_info() { echo -e "${GREEN}[INFO]${NC} $1"; } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } EXISTING="$(crontab -l 2>/dev/null || true)" if ! echo "$EXISTING" | grep -q "${CRON_TAG}"; then log_warn "当前 crontab 中没有 ${CRON_TAG} 任务,无需停止" exit 0 fi echo "$EXISTING" | grep -v "${CRON_TAG}" | crontab - || true # 若清空后 crontab 为空,部分系统仍可能留空 crontab,可接受 log_info "已移除标记为 ${CRON_TAG} 的定时任务" log_info "已有备份文件不会删除;需要可手动清理 BACKUP_DIR" crontab -l 2>/dev/null || log_warn "当前用户 crontab 已为空"