check_upgrade_byUSB.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/sh
  2. case "$ACTION" in
  3. add|"")
  4. DATE=`date +%Y-%m-%d_%H:%M:%S`
  5. result=1
  6. # cat /dev/null > /Storage/SystemLog/check_upgrade_byUSB
  7. echo [ $DATE ] /dev/$MDEV detected. >> /Storage/SystemLog/check_upgrade_byUSB
  8. mount /dev/$MDEV /UsbFlash
  9. # Get charger hash name
  10. MODELNAME=`/root/WebService query|busybox awk -F '[:,]' '/"ModelName"/ {gsub("[[:blank:]\"]+", "", $2); print $2}'`
  11. SERIALNUMBER=`/root/WebService query|busybox awk -F '[:,]' '/"SerialNumber"/ {gsub("[[:blank:]\"]+", "", $6); print $6}'`
  12. HOSTNAME_HASH=`echo -n $MODELNAME$SERIALNUMBER | md5sum | cut -f1 -d" "`
  13. # Check upgrade image list file exist and process upgrade logic
  14. if [ -f "/UsbFlash/upgrade_image_list" ]; then
  15. # Copy image file to target
  16. while read -r filename;
  17. do
  18. `cp -f /UsbFlash/$filename /mnt`
  19. if [ $? -ne 0 ]; then
  20. result=0
  21. echo [ $DATE ] copy /UsbFlash/$filename to /mnt fail. >> /Storage/SystemLog/check_upgrade_byUSB
  22. else
  23. echo [ $DATE ] copy /UsbFlash/$filename to /mnt success. >> /Storage/SystemLog/check_upgrade_byUSB
  24. fi
  25. done < /UsbFlash/upgrade_image_list
  26. # Trigger upgrade event
  27. if [ $result -eq 1 ]; then
  28. echo [ $DATE ] copy all image list on upgrade_image_list to /mnt success and trigger upgrade event. >> /Storage/SystemLog/check_upgrade_byUSB
  29. `/root/WebService upgrade /mnt/`
  30. else
  31. echo [ $DATE ] copy all image list on upgrade_image_list to /mnt occur error. >> /Storage/SystemLog/check_upgrade_byUSB
  32. fi
  33. fi
  34. # Check reset password request
  35. if [ -f "/UsbFlash/$HOSTNAME_HASH" ]; then
  36. echo [ $DATE ] USB reset webpage login password >> /Storage/SystemLog/check_upgrade_byUSB
  37. `cp -f /UsbFlash/$HOSTNAME_HASH /Storage/valid_info`
  38. fi
  39. # Check copy log to usb file exist
  40. if [ -f "/UsbFlash/cp_log" ]; then
  41. `cp -f -r /Storage/ /UsbFlash/`
  42. if [ $? -ne 0 ]; then
  43. echo [ $DATE ] copy /Storage/ to /UsbFlash/ fail. >> /Storage/SystemLog/check_upgrade_byUSB
  44. else
  45. echo [ $DATE ] copy /Storage/ to /UsbFlash/ success. >> /Storage/SystemLog/check_upgrade_byUSB
  46. fi
  47. fi
  48. umount /dev/$MDEV
  49. ;;
  50. esac