diff --git a/check-npm-sudo-config.sh b/check-npm-sudo-config.sh index ca5f8c8..487ba9a 100755 --- a/check-npm-sudo-config.sh +++ b/check-npm-sudo-config.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# check-npm-sudo-config.sh +# check-npm-sudo-config.sh v1.0 # Audits npm configuration on this VM for sudo-related issues and recommends fixes. set -euo pipefail @@ -17,6 +17,8 @@ send_telegram() { HOSTNAME=$(hostname) DATE=$(date) +LOGFILE="$SCRIPT_DIR/logs/npm-sudo-config-$(date +%Y%m%d).log" +mkdir -p "$SCRIPT_DIR/logs" RED='\033[0;31m' YELLOW='\033[1;33m' @@ -27,12 +29,12 @@ RESET='\033[0m' ISSUES=0 WARNINGS=0 -log() { echo "$*"; } -ok() { printf "${GREEN}✓${RESET} %s\n" "$*"; } -warn() { printf "${YELLOW}⚠${RESET} %s\n" "$*"; (( WARNINGS++ )) || true; } -fail() { printf "${RED}✗${RESET} %s\n" "$*"; (( ISSUES++ )) || true; } -rec() { printf " ${YELLOW}→${RESET} %s\n" "$*"; } -header() { echo ""; echo "=========================================="; echo "$*"; echo "=========================================="; } +log() { echo "$*" | tee -a "$LOGFILE"; } +ok() { log "$(printf "${GREEN}✓${RESET} %s" "$*")"; } +warn() { log "$(printf "${YELLOW}⚠${RESET} %s" "$*")"; (( WARNINGS++ )) || true; } +fail() { log "$(printf "${RED}✗${RESET} %s" "$*")"; (( ISSUES++ )) || true; } +rec() { log "$(printf " ${YELLOW}→${RESET} %s" "$*")"; } +header() { log ""; log "=========================================="; log "$*"; log "=========================================="; } log "==========================================" log " npm sudo config audit" @@ -179,6 +181,7 @@ fi # ── Summary ─────────────────────────────────────────────────────────────────── header "SUMMARY" log "Scan completed at: $(date)" +log "Log saved to : $LOGFILE" log "" if [[ $ISSUES -gt 0 ]]; then