Updated framework

This commit is contained in:
2026-03-27 16:50:20 +00:00
parent 24c7a481c8
commit 4faf5d2b96
11 changed files with 994 additions and 398 deletions
+74 -15
View File
@@ -5,30 +5,89 @@ set -e
# ----------------------------------------------------------------------------------------------
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../Master.conf"
source "$SCRIPT_DIR/../common.sh"
# Load central config
load_master_conf
# Parse CLI args (supports --dry-run)
parse_args "$@"
# Functions
# STATUS MODE
if [[ "$SHOW_STATUS" == true ]]; then
echo
echo "=================================================="
echo " ️ RSYNC STOP STATUS"
echo "--------------------------------------------------"
echo " 🔄 Target: rsync processes"
echo " 🧪 Dry Run: $DRY_RUN"
echo "=================================================="
exit 0
fi
# HEADER
echo
echo "============================================================"
echo " 🚀 RSYNC STOP STARTING"
echo "------------------------------------------------------------"
echo " 🔄 Target: all rsync processes"
echo " 🧪 Dry Run: $DRY_RUN"
echo "============================================================"
log "️ Checking for running rsync processes"
# FUNCTIONS
check_rsync_running() {
pgrep -f rsync >/dev/null 2>&1
}
stop_rsync_processes() {
if [ "$DRY_RUN" = true ]; then
echo "[DRY-RUN] Would stop all running rsync processes"
else
echo "Stopping all rsync processes..."
if pkill -f rsync; then
echo "All rsync processes stopped successfully."
if [[ "$DRY_RUN" == true ]]; then
warn "🧪 Would stop all rsync processes"
return
fi
if check_rsync_running; then
info "🟡 Stopping rsync processes"
# safer than blind pkill message-only:
pkill -f rsync
sleep 1
if check_rsync_running; then
warn "🟡 Some rsync processes may still be running"
else
echo "No rsync processes found or failed to stop."
info "🟢 All rsync processes stopped successfully"
fi
else
info "🟢 No rsync processes currently running"
fi
}
# MAIN
echo "==== Rsync Stop Script Started: $(date) ===="
# EXECUTION
START_TIME=$(date +%s)
stop_rsync_processes
stop_rsync_processes
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
# SUMMARY
echo
echo "============================================================"
if check_rsync_running; then
echo " 🟡 RSYNC STOP SUMMARY"
echo "------------------------------------------------------------"
echo " 🔄 Status: 🟡 SOME PROCESSES MAY REMAIN"
echo " ⏱ Duration: ${DURATION}s"
else
echo " 🟢 RSYNC STOP SUMMARY"
echo "------------------------------------------------------------"
echo " 🔄 Status: 🟢 ALL STOPPED"
echo " ⏱ Duration: ${DURATION}s"
fi
echo "============================================================"
info "️ Rsync stop operation complete"