#!/usr/bin/env bash set -euo pipefail log_dir="${1:-./logs}" archive_dir="${2:-./archive}" mkdir -p "$archive_dir" find "$log_dir" -type f -name '*.log' -mtime +7 -print0 | while IFS= read -r -d '' file; do gzip -c "$file" > "$archive_dir/$(basename "$file").gz" rm "$file" done