summaryrefslogtreecommitdiff
path: root/localmaildomainupdate
blob: 7290c0323e32997434d2210bd499f97c0e70197e (plain)
  1. #!/bin/sh
  2. #
  3. # /usr/local/sbin/localmaildomainupdate
  4. # Copyright 2004-2006 Jonas Smedegaard <dr@jones.dk>
  5. #
  6. # $Id: localmaildomainupdate,v 1.8 2006-11-09 13:48:45 jonas Exp $
  7. #
  8. # Update a mailuser file
  9. #
  10. # (wrapper script for localmkpostfixvirtual)
  11. #
  12. set -e
  13. if [ $# -ge 1 ]; then
  14. maildomain="$1"
  15. virtualfile="virtual-$1"
  16. shift
  17. else
  18. maildomain=""
  19. virtualfile="virtual"
  20. fi
  21. pfdir="/etc/postfix"
  22. localmkpostfixvirtual $maildomain > "$pfdir/$virtualfile.new"
  23. if [ -f "$pfdir/$virtualfile.addon" ]; then
  24. cat "$pfdir/$virtualfile.addon" >> "$pfdir/$virtualfile.new"
  25. fi
  26. diff $@ "$pfdir/$virtualfile" "$pfdir/$virtualfile.new" || if [ $? -gt 1 ]; then exit $?; fi
  27. echo -n "Above is the intended changes. OK to update (y/N)? "
  28. read do_update
  29. case $do_update in
  30. y|Y)
  31. ;;
  32. *)
  33. echo "Update aborted!"
  34. exit 1
  35. ;;
  36. esac
  37. mv "$pfdir/$virtualfile.new" "$pfdir/$virtualfile"
  38. postmap "$pfdir/$virtualfile"