@@ -160,11 +160,11 @@ parse_arguments() {
160
160
161
161
OUTPUT_DIR=" ${OUTPUT_DIR:- $DEFAULT_OUTPUT_DIR } "
162
162
HOURS=" ${HOURS:- $DEFAULT_HOURS } "
163
-
163
+
164
164
if [[ -n " $DATE " ]]; then
165
165
format_date " $DATE "
166
166
fi
167
-
167
+
168
168
calculate_archive_info
169
169
}
170
170
@@ -183,7 +183,7 @@ validate_arguments() {
183
183
exit 1
184
184
fi
185
185
fi
186
-
186
+
187
187
# Validate hours parameter
188
188
if [[ ! " $HOURS " =~ ^[0-9]+$ ]] || [[ $HOURS -le 0 ]]; then
189
189
log ERROR " Invalid hours value: $HOURS (must be a positive integer)"
@@ -216,32 +216,32 @@ execute_query() {
216
216
# Get server time range
217
217
get_server_time_range () {
218
218
echo " Querying server time range..."
219
-
219
+
220
220
local time_query
221
221
if [[ -n " $DATE " ]]; then
222
222
time_query=" SELECT DATE('$FORMATTED_DATE ') AS start_time, DATE('$FORMATTED_DATE ') + INTERVAL 1 DAY AS end_time"
223
223
else
224
224
time_query=" SELECT NOW() - INTERVAL $HOURS HOUR AS start_time, NOW() AS end_time"
225
225
fi
226
-
226
+
227
227
local time_result
228
228
time_result=$( execute_query " $time_query " )
229
-
229
+
230
230
if [[ -z " $time_result " ]]; then
231
231
log ERROR " Failed to get server time range"
232
232
exit 1
233
233
fi
234
-
234
+
235
235
# Parse the result - assuming tab-separated format
236
236
SERVER_START_TIME=$( echo " $time_result " | tail -n 1 | awk ' {print $1" "$2}' )
237
237
SERVER_END_TIME=$( echo " $time_result " | tail -n 1 | awk ' {print $3" "$4}' )
238
-
238
+
239
239
if [[ -n " $DATE " ]]; then
240
240
echo " Server time range: $FORMATTED_DATE (full day, server timezone)"
241
241
else
242
242
echo " Server time range: $SERVER_START_TIME ~ $SERVER_END_TIME ($HOURS hours)"
243
243
fi
244
-
244
+
245
245
log DEBUG " Server start time: $SERVER_START_TIME "
246
246
log DEBUG " Server end time: $SERVER_END_TIME "
247
247
}
@@ -264,7 +264,7 @@ download_file() {
264
264
log ERROR " Empty presigned URL for $filename "
265
265
return 1
266
266
fi
267
-
267
+
268
268
if [[ ! " $presign_url " =~ ^https? :// ]]; then
269
269
log ERROR " Invalid URL format for $filename "
270
270
return 1
@@ -309,7 +309,7 @@ create_archive() {
309
309
file_list=$( mktemp)
310
310
find " ${dirs[@]} " -type f -print > " $file_list " 2> /dev/null
311
311
local total_files
312
- total_files=$( wc -l < " $file_list " )
312
+ total_files=$( wc -l < " $file_list " )
313
313
314
314
echo " Archiving $total_files files..."
315
315
if ! tar -czf " $ARCHIVE_NAME " --files-from=" $file_list " 2>> " $temp_log " ; then
@@ -387,7 +387,7 @@ process_stage() {
387
387
echo " Found $file_count files"
388
388
389
389
mkdir -p " $OUTPUT_DIR /$output_subdir "
390
-
390
+
391
391
local current=0
392
392
local success=0
393
393
while IFS= read -r filename; do
@@ -398,20 +398,20 @@ process_stage() {
398
398
done <<< " $file_list"
399
399
400
400
echo " Stage completed: $success /$current files downloaded"
401
-
401
+
402
402
# Return counts via global variables for main function
403
403
stage_total=$current
404
404
stage_success=$success
405
-
405
+
406
406
return 0
407
407
}
408
408
409
409
main () {
410
410
START_TIME=$( date +%s)
411
-
411
+
412
412
parse_arguments " $@ "
413
413
validate_arguments
414
-
414
+
415
415
echo " ================================================================"
416
416
echo " Databend Log Fetcher - Started at $( date ' +%Y-%m-%d %H:%M:%S' ) "
417
417
echo " ================================================================"
@@ -422,7 +422,7 @@ main() {
422
422
echo " Mode: Past $HOURS hours (filename uses current date)"
423
423
fi
424
424
echo " ================================================================"
425
-
425
+
426
426
build_base_command
427
427
428
428
# Get and display server time range
@@ -440,7 +440,7 @@ main() {
440
440
441
441
local total=0
442
442
local success=0
443
-
443
+
444
444
# Stage 1: Columns
445
445
process_stage " Fetch System Columns" \
446
446
" COPY INTO @a5c7667401c0c728c2ef9703bdaea66d9ae2d906 FROM system.columns;" \
@@ -495,7 +495,7 @@ main() {
495
495
echo " Successfully downloaded: $success "
496
496
echo " Failed: $(( total - success)) "
497
497
if [[ $total -gt 0 ]]; then
498
- echo " Success rate: $(( success * 100 / total )) %"
498
+ echo " Success rate: $(( success * 100 / total)) %"
499
499
fi
500
500
501
501
if [[ $success -gt 0 ]]; then
0 commit comments