75 lines
1.8 KiB
Bash
Executable File
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
|