update-dhcpd 1019 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/bash
  2. logger -t dhcpd "Refresh dhcpd config request"
  3. /opt/Eye/scripts/print-dhcpd.pl
  4. ret=$?
  5. if [ ${ret} -ne 0 ]; then
  6. exit
  7. fi
  8. diff -aqbBfi /etc/dhcp/eye.d /etc/dhcp/eye.d.new >/dev/null
  9. ret=$?
  10. if [ ${ret} -ne 0 ]; then
  11. logger -t dhcpd "Update dhcpd config"
  12. rm -f /etc/dhcp/eye.d/*.bak >/dev/null 2>&1
  13. find /etc/dhcp/eye.d/ -iname "*.conf" -exec rename \.conf \.bak {} \; >/dev/null 2>&1
  14. cp -f /etc/dhcp/eye.d.new/*.conf /etc/dhcp/eye.d >/dev/null 2>&1
  15. sed -i 's/\.new//' /etc/dhcp/eye.d/eye.conf >/dev/null 2>&1
  16. /sbin/dhcpd -t -cf /etc/dhcp/dhcpd.conf >/dev/null 2>&1
  17. ret=$?
  18. if [ ${ret} -eq 0 ]; then
  19. systemctl restart isc-dhcp-server>/dev/null
  20. else
  21. logger -t dhcpd "Config error! Skip restart dhcp."
  22. rm -f /etc/dhcp/eye.d/*.conf >/dev/null 2>&1
  23. find /etc/dhcp/eye.d/ -iname "*.bak" -exec rename .bak .conf {} \; >/dev/null 2>&1
  24. fi
  25. else
  26. logger -t dhcpd "Config not changed. Skip restart"
  27. fi
  28. logger -t dhcpd "done"
  29. exit