script.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/sh
  2. tmpdir=tmp
  3. function is_ipv6()
  4. {
  5. var="$1"
  6. regex='^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$'
  7. if [[ $var =~ $regex ]]; then
  8. return 1
  9. else
  10. return 0
  11. fi
  12. }
  13. function kill_all()
  14. {
  15. killall RestartApp.sh smartMornitor.sh smartMonitor.sh main snmpd Qt_Test smartPDU smartUPG
  16. }
  17. function rm_old()
  18. {
  19. echo rm old files ...
  20. rm -f /etc/init.d/S90PDUStart
  21. rm -rf /usr/local/snmpd
  22. rm -f /usr/lib/libnetsnmp*
  23. rm -f /usr/sbin/smartMornitor.sh
  24. rm -f /usr/libmpr.so /usr/libhttp.so /usr/lib/libesp.o /usr/lib/libmodbus*
  25. rm -rf /root/run
  26. }
  27. function set_net()
  28. {
  29. netfile=/etc/network/interfaces
  30. content=$(cat $netfile)
  31. if [[ $content == *"address"* ]]; then
  32. return
  33. fi
  34. ip4=192.168.1.132
  35. mask4=255.255.255.0
  36. gw4=192.168.1.1
  37. str_lo="auto lo\niface lo inet loopback\n\n"
  38. str_e0="auto eth0\niface eth0 inet static\naddress $ip4\nnetmask $mask4\ngateway $gw4\n\n"
  39. str_e1="auto eth1\niface eth1 inet dhcp\npre-up /etc/network/nfs_check\nwait-delay 5\nhostname $(hostname)\n"
  40. echo -e $str_lo > $netfile
  41. echo -e $str_e0 >> $netfile
  42. echo -e $str_e1 >> $netfile
  43. ifconfig eth0 $ip4
  44. }
  45. kill_all
  46. rm_old
  47. echo release $obj ...
  48. tar -xpf $tmpdir/pdutar -C / >/dev/null 2>&1
  49. if [ -e $tmpdir/logo.png ]; then
  50. cp -f $tmpdir/logo.png /root/run/app/image/
  51. fi
  52. if [ -e $tmpdir/smartPDU.ini ]; then
  53. cp -f $tmpdir/smartPDU.ini /root/run/app/
  54. cp -f $tmpdir/smartPDU.ini /root/run/app/smartPDU_bak.ini
  55. chmod 777 /root/run/app/*
  56. rm -rf /root/bak/*
  57. fi
  58. rm -rf $tmpdir
  59. set_net
  60. echo +++++++ upgrade ok! +++++++
  61. echo reboot device
  62. reboot -d 1
  63. exit 0