#!/bin/bash
ไฟล์=()
each_row=()
raw_file_names=()
ไดเรกทอรี=($(ls /home/cloudera/ดาวน์โหลด/20211006/*))
csv_file=(/home/cloudera/ดาวน์โหลด/log_20211006_1.log)
เสร็จสมบูรณ์ = "เสร็จสมบูรณ์"
สำหรับฉันใน "${directory[@]}"
ทำ
ไฟล์+=("$(echo ${i%%.*} | cut -d'/' -f 6)")
เสร็จแล้ว
ในขณะที่อ่าน -r current_line;
ทำ
each_row+=("$(echo "$current_line")")
เสร็จแล้ว<$csv_file
each_row=("${each_row[@]:1}")
เสียงสะท้อน $each_row
สำหรับฉันใน "${each_row[@]}"
ทำ
raw_file_names+=("$(echo ${i} | cut -d',' -f 1)")
เสร็จแล้ว
สำหรับฉันใน "${each_row[@]}"
ทำ
rawfile="$(echo ${i} | ตัด -d',' -f 1)")
status_of_file=("$(echo ${i} | cut -d',' -f 2)")
ถ้า [[ $status_of_file != "$ Completed" ]];
แล้ว
ถ้า !(grep -q "$rawfile ยังไม่เสร็จสมบูรณ์!" alerts.txt); แล้ว
echo "$rawfile ยังไม่เสร็จสมบูรณ์!"
echo "$rawfile ยังไม่เสร็จสมบูรณ์!" >> alerts.txt
ไฟ
ไฟ
เสร็จแล้ว
miss_rawfile=("$(echo ${files[@]} ${raw_file_names[@]} | tr ' ' '\n' | sort | uniq -u)")
echo "หายไป: $missing_rawfile"
สำหรับฉันใน "${missing_rawfile}"
ทำ
ถ้า !(grep -q "$missing_rawfile is Missing from the log!" alerts.txt); แล้ว
echo "$missing_rawfile หายไปจากบันทึก!"
echo "$missing_rawfile หายไปจากบันทึก!" >> alerts.txt
ไฟ
เสร็จแล้ว