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