From ecd087d1f8578f0057bca0f589673f99296320c2 Mon Sep 17 00:00:00 2001 From: kris Date: Sat, 18 Apr 2026 16:48:32 +0100 Subject: [PATCH] Delete noctopus_tyquant.sh --- noctopus_tyquant.sh | 132 -------------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 noctopus_tyquant.sh diff --git a/noctopus_tyquant.sh b/noctopus_tyquant.sh deleted file mode 100644 index 0f4ad48..0000000 --- a/noctopus_tyquant.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash -# ============================================================================= -# Script: noct_sftp_copy.sh -# Description: Copies 3 CSV files from a single source directory to 3 -# separate destination directories and changes ownership to -# a specified user. Designed for silent cron execution with -# full logging on Red Hat Enterprise Linux. -# Cron example (runs daily at 02:00 as root): -# 0 2 * * * /path/to/noct_sftp_copy.sh -# ============================================================================= - -# --- Configuration ----------------------------------------------------------- - -# Owner to assign to all copied files (change as needed) -TARGET_USER="tyquant" - -# Source directory containing all CSV files -SRC_DIR="/app/smbctyuat/NoctSFTP" - -# Map each CSV filename to its destination directory -# Format: ["filename.csv"]="destination/path" -declare -A FILE_DEST_MAP=( - ["noct_fxdcf*.csv"]="/app/tyquant/deploy/kxinstall/delta-data/fileStore/fileUpload/noctData/dailyCashFlow" - ["noct_evrFxRate*.csv"]="/app/tyquant/deploy/kxinstall/delta-data/fileStore/fileUpload/noctData/EVRFxRate" - ["noct_fxtv*.csv"]="/app/tyquant/deploy/kxinstall/delta-data/fileStore/fileUpload/noctData/transactionView" -) - -# Log file location and retention (days) -# Log file keeps 13 months. -LOG_FILE="/var/log/noct_sftp_copy.log" -LOG_RETAIN_DAYS=396 - -# ----------------------------------------------------------------------------- - -# --- Logging ----------------------------------------------------------------- - -# Ensure the log directory exists -mkdir -p "$(dirname "$LOG_FILE")" - -# All stdout and stderr from this point on goes only to the log file (silent to cron) -exec >> "$LOG_FILE" 2>&1 - -log() { - echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" -} - -# Rotate out log entries older than LOG_RETAIN_DAYS -rotate_log() { - local tmp cutoff - tmp=$(mktemp) - cutoff=$(date -d "$LOG_RETAIN_DAYS days ago" '+%Y-%m-%d') - grep -v "^\[" "$LOG_FILE" > "$tmp" || true - grep "^\[" "$LOG_FILE" | awk -v cutoff="[$cutoff" '$1 >= cutoff' >> "$tmp" || true - mv "$tmp" "$LOG_FILE" -} - -# ----------------------------------------------------------------------------- - -log "===== START noct_sftp_copy ============================================" - -# Prune old log entries -rotate_log - -# Check that the script is run as root (required for chown) -if [[ $EUID -ne 0 ]]; then - log "ERROR: Script must be run as root (or with sudo) to change file ownership." - log "===== END noct_sftp_copy [FAILED] ===================================" - exit 1 -fi - -# Verify the target user exists -if ! id "$TARGET_USER" &>/dev/null; then - log "ERROR: User '$TARGET_USER' does not exist." - log "===== END noct_sftp_copy [FAILED] ===================================" - exit 1 -fi - -# Verify the source directory exists -if [[ ! -d "$SRC_DIR" ]]; then - log "ERROR: Source directory not found: $SRC_DIR" - log "===== END noct_sftp_copy [FAILED] ===================================" - exit 1 -fi - -# --- Helper ------------------------------------------------------------------ - -copy_and_chown() { - local src="$1" - local dest_dir="$2" - local owner="$3" - local filename - filename=$(basename "$src") - - if [[ ! -f "$src" ]]; then - log "ERROR: Source file not found: $src" - return 1 - fi - - if ! mkdir -p "$dest_dir"; then - log "ERROR: Could not create directory: $dest_dir" - return 1 - fi - - if ! cp "$src" "$dest_dir/"; then - log "ERROR: Failed to copy '$filename' to '$dest_dir'" - return 1 - fi - - if ! chown "$owner" "$dest_dir/$filename"; then - log "ERROR: Failed to change ownership of '$dest_dir/$filename'" - return 1 - fi - - log "OK: '$filename' -> '$dest_dir/' (owner: $owner)" -} - -# --- Main -------------------------------------------------------------------- - -ERRORS=0 - -for filename in "${!FILE_DEST_MAP[@]}"; do - dest_dir="${FILE_DEST_MAP[$filename]}" - copy_and_chown "$SRC_DIR/$filename" "$dest_dir" "$TARGET_USER" || (( ERRORS++ )) -done - -if [[ $ERRORS -eq 0 ]]; then - log "===== END copy_csv_files [SUCCESS] ==================================" - exit 0 -else - log "===== END copy_csv_files [FAILED] ($ERRORS error(s)) ================" - exit 1 -fi \ No newline at end of file