tidbstandalone/sync-control.sh

75 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
TASK_NAME="test-to-local"
DMCTL="docker exec dm-master /dmctl --master-addr=dm-master:8261"
show_usage() {
echo "Usage: ./sync-control.sh [command]"
echo ""
echo "Commands:"
echo " status - Show sync task status"
echo " start - Start the sync task"
echo " stop - Stop the sync task"
echo " pause - Pause the sync task"
echo " resume - Resume the sync task"
echo " restart - Restart the sync task (stop + start)"
echo " reinit - Re-initialize DM configuration"
echo ""
}
check_dm() {
if ! docker ps | grep -q dm-master; then
echo "❌ DM Master is not running"
echo " Start with: ./start.sh"
exit 1
fi
}
case "$1" in
status)
check_dm
echo "📊 Checking sync status for task: $TASK_NAME"
echo ""
$DMCTL query-status $TASK_NAME
;;
start)
check_dm
echo "▶️ Starting sync task: $TASK_NAME"
$DMCTL start-task $TASK_NAME
;;
stop)
check_dm
echo "⏹️ Stopping sync task: $TASK_NAME"
$DMCTL stop-task $TASK_NAME
;;
pause)
check_dm
echo "⏸️ Pausing sync task: $TASK_NAME"
$DMCTL pause-task $TASK_NAME
;;
resume)
check_dm
echo "▶️ Resuming sync task: $TASK_NAME"
$DMCTL resume-task $TASK_NAME
;;
restart)
check_dm
echo "🔄 Restarting sync task: $TASK_NAME"
$DMCTL stop-task $TASK_NAME
sleep 2
$DMCTL start-task $TASK_NAME
;;
reinit)
echo "🔄 Re-initializing DM configuration..."
docker compose up -d dm-init
echo ""
echo "⏳ Waiting for initialization..."
sleep 5
docker logs dm-init
;;
*)
show_usage
exit 1
;;
esac