This commit is contained in:
HuangHai
2026-02-05 13:24:59 +08:00
parent 00375a80b2
commit 8e0309bb7b
69 changed files with 2084 additions and 3124 deletions

View File

@@ -7,21 +7,27 @@
# 场景: 全量同步前防止增量任务干扰
# ==========================================
# 1. 基础配置 (需与 start_cron.sh 保持一致以确保匹配正确)
# 1. 基础配置
TARGET=$1
if [ "$TARGET" != "doris" ] && [ "$TARGET" != "mysql" ]; then
echo "使用方法: $0 [doris|mysql]"
exit 1
fi
WORK_DIR="/usr/local/datax"
SCRIPT_NAME="run_jobs_inc.sh"
SCRIPT_PATH="$WORK_DIR/$SCRIPT_NAME"
# 2. 检查任务是否存在
echo "正在检查定时任务..."
echo "正在检查 $TARGET 定时任务..."
# 使用 grep 查找包含脚本路径的行
EXISTING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH")
# 使用脚本路径和目标参数匹配
EXISTING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH $TARGET")
if [ -z "$EXISTING_JOB" ]; then
echo "----------------------------------------"
echo "提示: 未发现该脚本的定时任务,无需停止。"
echo "目标脚本: $SCRIPT_PATH"
echo "提示: 未发现 $TARGET 的定时任务,无需停止。"
echo "目标脚本: $SCRIPT_PATH $TARGET"
echo "----------------------------------------"
exit 0
fi
@@ -31,20 +37,18 @@ echo " $EXISTING_JOB"
echo "----------------------------------------"
# 3. 移除任务
echo "正在移除任务..."
echo "正在移除 $TARGET 任务..."
# 备份当前的 crontab
BACKUP_FILE="/tmp/crontab_backup_$(date +%Y%m%d_%H%M%S).txt"
crontab -l > "$BACKUP_FILE" 2>/dev/null
echo "已备份当前 Crontab 到: $BACKUP_FILE"
# 核心逻辑: 移除包含脚本路径的行
# grep -v "$SCRIPT_PATH" : 排除包含脚本路径的行
# crontab - : 将过滤后的内容重新写入 crontab
crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH" | crontab -
# 核心逻辑: 移除包含脚本路径和目标的行
crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH $TARGET" | crontab -
# 4. 验证结果
REMAINING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH")
REMAINING_JOB=$(crontab -l 2>/dev/null | grep "$SCRIPT_PATH $TARGET")
if [ -z "$REMAINING_JOB" ]; then
echo "----------------------------------------"