aiupdate backup
#!/bin/bash #filename: checkping.sh #usage: ./checkping.sh ./IPList.csv if [ $# -ne 1 ]; then echo "exit ..." exit 0 fi ip_file=$1 if [ -e $file ]; then while IFS=, read -r DeviceSN RemoteEndPoint do echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "DeviceSN: ${DeviceSN}, RemoteEndPoint: ${RemoteEndPoint}" IPAddr=$( echo $RemoteEndPoint | cut -d : -f 1 ) echo $IPAddr | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null if [ $? -ne 0 ] then echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Parse IPAddr NG - DeviceSN: ${DeviceSN}, IPAddr: ${IPAddr}" continue else echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Parse IPAddr OK - DeviceSN: ${DeviceSN}, IPAddr: ${IPAddr}" fi ping -c 1 $IPAddr >/dev/null 2>&1 if [ $? -ne 0 ] then echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Check IPAddr DOWN - DeviceSN: ${DeviceSN}, IPAddr: ${IPAddr}" else echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Check IPAddr UP - DeviceSN: ${DeviceSN}, IPAddr: ${IPAddr}" fi done<"$ip_file" fi exit 0
#!/bin/bash #filename: backup.sh #usage: ./backup.sh sed -i '/^[[:space:]]*$/d' SNList.csv sed -i '/^DeviceSN$/d' SNList.csv rm -f "tmpval" grep -Fxf SNList.csv SNList_total.csv 1>tmpval 2>/dev/null tmpval_count=$(awk 'END {print NR}' tmpval) if [ $tmpval_count -ne 0 ] then echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "need backup, will be start backup ....." | tee -a backup.log SNList_total_count=$(awk 'END {print NR}' SNList_total.csv) let old_SNList_total_count=$SNList_total_count-1 cat SNList.csv >>SNList_total.csv sed -i '/^[[:space:]]*$/d' SNList.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "add SNList.csv to SNList_total.csv" | tee -a backup.log cur_date="$(date +%Y%m%d%H%M)" cp SNList_total.csv SNList_total_${cur_date}.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "backup SNList_total_${cur_date}.csv" | tee -a backup.log SNList_count=$(awk 'END {print NR}' SNList.csv) let up_SNList_count=$SNList_count up_SNList_total_count=$(awk 'END {print NR}' SNList_total.csv) let last_SNList_total_count=$up_SNList_total_count-1 echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Old SNList_total count = ${old_SNList_total_count}" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "update SNList count = ${up_SNList_count}" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "last SNList_total count = ${last_SNList_total_count}" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "add update success, backup done." | tee -a backup.log else echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "already backup, will be stop backup ....." | tee -a backup.log SNList_count=$(awk 'END {print NR}' SNList.csv) let up_SNList_count=$SNList_count up_SNList_total_count=$(awk 'END {print NR}' SNList_total.csv) let last_SNList_total_count=$up_SNList_total_count-1 cur_date="$(date +%Y%m%d%H%M)" cp SNList_total.csv SNList_total_${cur_date}.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "backup SNList_total_${cur_date}.csv" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "old SNList_total count = last SNList_total count" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "update SNList count = ${up_SNList_count}" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "last SNList_total count = ${last_SNList_total_count}" | tee -a backup.log echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "skip update success, backup done." | tee -a backup.log fi rm -f "tmpval" exit 0
#!/bin/bash #filename: aiupdate.sh #usage: ./aiupdate.sh DOWN_FILE="zjnineinoneipexcelout" cur_date="$( date '+%Y-%m-%d' )" read -p "Download zhejiang ship list file, Are you sure you want to continue connecting (y/n) ? " choice_val if [ "$choice_val" == "y" ] then curl -s -O "http://10.0.8.182:5000/user/$DOWN_FILE" [ $( du -s $DOWN_FILE | awk '{print $1}' ) -lt 5 ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "$DOWN_FILE error, will exit." && exit 0 echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "$DOWN_FILE success" mv $DOWN_FILE ${DOWN_FILE}.xlsx in2csv zjnineinoneipexcelout.xlsx >zjnineinoneipexcelout.csv 2>/dev/null [ $( du -s ${DOWN_FILE}.csv | awk '{print $1}' ) -lt 5 ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "${DOWN_FILE}.csv error, will exit." && exit 0 sed -i '/^[[:space:]]*$/d' ${DOWN_FILE}.csv grep -E "设备序列号|河北雄安|浙江" ${DOWN_FILE}.csv | awk 'BEGIN { FS=OFS="," } {print $2,$3}' ${DOWN_FILE}.csv >zj-ai-sn-ip-${cur_date}.csv [ $( du -s zj-ai-sn-ip-${cur_date}.csv | awk '{print $1}' ) -lt 5 ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "zj-ai-sn-ip-${cur_date}.csv error, will exit." && exit 0 sed -i '1s/设备序列号,Ip/DeviceSN,RemoteEndPoint/' zj-ai-sn-ip-${cur_date}.csv rm -f ${DOWN_FILE}* echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "count file == " "$( wc -l zj-ai-sn-ip-${cur_date}.csv )" cp zj-ai-sn-ip-${cur_date}.csv RecordFile/zj-ai-sn-ip.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory generate zj-ai-sn-ip.csv" else echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "skip down $DOWN_FILE" fi echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "process SNList_new ...." echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "need select zj-ai-sn-ip.csv and SNList_total.csv" cat /dev/null >SNList_new.csv ./SNHandler >/dev/null 2>&1 echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory copy SNList_null.csv to SNList.csv" [ ! -e "RecordFile/SNList_null.csv" ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory SNList_null.csv non-existent, will exit." && exit 0 cp RecordFile/SNList_null.csv RecordFile/SNList.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory copy IPList_null.csv to IPList.csv" [ ! -e "RecordFile/IPList_null.csv" ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory IPList_null.csv non-existent, will exit." && exit 0 cp RecordFile/IPList_null.csv RecordFile/IPList.csv echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "in RecordFile directory add SNList_new.csv to IPList.csv" cat SNList_new.csv >>RecordFile/IPList.csv SNList_new_count=$(awk 'END {print NR}' SNList_new.csv) IPList_count=$(awk 'END {print NR}' RecordFile/IPList.csv) SNList_count=$(awk 'END {print NR}' RecordFile/SNList.csv) SNList_total_count=$(awk 'END {print NR}' RecordFile/SNList_total.csv) echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "SNList_new_count=${SNList_new_count} IPList_count=${IPList_count} SNList_count=${SNList_count} SNList_total_count=${SNList_total_count}" let up_IPList_count=$IPList_count-1 [ $up_IPList_count -eq 0 ] && echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "up_IPList_count is zero, will exit." && exit 0 if [ $up_IPList_count -eq $SNList_new_count ] then echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "process SNList_new success, up_IPList_count == SNList_new_count" echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Please continue running OTA ......" else echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "process SNList_new failed, up_IPList_count != SNList_new_count" echo "$( date +'%Y/%m/%d %H:%M:%S' ) " "Please check SNList_new file ......" fi exit 0
=========== End