#!/bin/sh # change these variables LOCAL_DATA_PATH=/data REMOTE_USER=root REMOTE_HOST=localhost REMOTE_KEY=~/.ssh/id_rsa REMOTE_DATA_PATH=/data REMOTE_TILES_PATH=/public/assets/tiles REMOTE_RAWS_PATH=/raws REMOTE_COORDS_PATH=/coords.bin REMOTE_IPMAP_PATH=/scripts/ipmap.py COLORMAPS=jet,fake_parula,viridis,plasma,thermal,batlow VARIANTS=density,rtt DAYS_KEPT=14 # do not change these variables DATE=$(date -u +"%Y%m%d") KEEP_DATE=$(date -d "$DAYS_KEPT days ago" -u +"%Y%m%d") CSV_FILENAME="full-scan.csv" BIN_FILENAME="full-scan.bin" JSON_FILENAME="tiles.json" CURRENT_LOCAL_DATA_PATH="$LOCAL_DATA_PATH/$DATE" LOCAL_CSV_PATH="$CURRENT_LOCAL_DATA_PATH/$CSV_FILENAME" REMOTE="$REMOTE_USER@$REMOTE_HOST" CURRENT_REMOTE_DATA_PATH="$REMOTE_DATA_PATH/$DATE" REMOTE_CSV_PATH="$CURRENT_REMOTE_DATA_PATH/$CSV_FILENAME" REMOTE_BIN_PATH="$CURRENT_REMOTE_DATA_PATH/$BIN_FILENAME" REMOTE_JSON_PATH="$REMOTE_TILES_PATH/$JSON_FILENAME" CURRENT_REMOTE_TILES_PATH="$REMOTE_TILES_PATH/$DATE" CURRENT_REMOTE_RAWS_PATH="$REMOTE_RAWS_PATH/$DATE" mkdir -p "$CURRENT_LOCAL_DATA_PATH" && zmap -B '100M' -M icmp_echo_time '0.0.0.0/0' -f 'saddr_raw,rtt_us,success' -o "$LOCAL_CSV_PATH" && ssh -i "$REMOTE_KEY" "$REMOTE" "mkdir -p '$CURRENT_REMOTE_DATA_PATH'" && scp -i "$REMOTE_KEY" "$LOCAL_CSV_PATH" "$REMOTE:$REMOTE_CSV_PATH" && rm "$LOCAL_CSV_PATH" && ssh -i "$REMOTE_KEY" "$REMOTE" " '$REMOTE_IPMAP_PATH' convert '$REMOTE_CSV_PATH' '$REMOTE_BIN_PATH' && rm '$REMOTE_CSV_PATH' && mkdir -p '$CURRENT_REMOTE_TILES_PATH' && '$REMOTE_IPMAP_PATH' mktiles -a -z -c '$COLORMAPS' -v '$VARIANTS' -j '$REMOTE_JSON_PATH' -r '$CURRENT_REMOTE_RAWS_PATH' '$REMOTE_COORDS_PATH' '$REMOTE_BIN_PATH' '$CURRENT_REMOTE_TILES_PATH' cd '$REMOTE_DATA_PATH' && for f in *; do (( \$f < $KEEP_DATE )) && rm -r \"\$f\"; done cd '$REMOTE_TILES_PATH' && for f in *; do (( \$f < $KEEP_DATE )) && '$REMOTE_IPMAP_PATH' rmtiles -j '$REMOTE_JSON_PATH' \"\$f\"; done "