#!/usr/bin/env bash set -euo pipefail usage() { echo "Usage: $0 [--keep] [dest_dir]" >&2 echo " --keep keep original .log files after backup" >&2 echo " dest_dir optional destination directory (default: logs)" >&2 } move_logs=true if [[ "${1:-}" == "--help" || "${1:-}" == "-h" ]]; then usage exit 0 fi if [[ "${1:-}" == "--keep" ]]; then move_logs=false shift fi DEST_DIR="${1:-logs}" TS="$(date +"%Y%m%d_%H%M%S")" mkdir -p "$DEST_DIR" found=false for f in *.log; do if [[ -f "$f" ]]; then found=true base="${f%.log}" target="$DEST_DIR/${base}_${TS}.log" cp "$f" "$target" if $move_logs; then rm "$f" fi fi done if ! $found; then echo "No .log files found in repo root." fi