pull-serverside-repo.sh 794 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. ## fetch and update contents of /www/ from git.superglue.it
  3. _PWD=$(pwd)
  4. _USER='httpd'
  5. _WWW='/www'
  6. _URL='http://git.superglue.it/superglue/serverside/repository/archive.tar.gz'
  7. _ARC=$(curl -Is $_URL | awk -F\" '/serverside/ { print $2 }')
  8. cd /tmp
  9. if [[ -z "$_ARC" ]]; then
  10. echo 'error fetching archive version'
  11. exit 1
  12. fi
  13. if [[ ! -e "$_ARC" ]]; then
  14. echo -n "$(date): fetching $_ARC "
  15. curl -OJs "$_URL" || exit 1
  16. echo "OK"
  17. else exit 0
  18. fi
  19. _DIR=($(tar xvzf $_ARC 2>/dev/null))
  20. if [[ -z "$_DIR" ]]; then
  21. echo 'error extracting archive'
  22. exit 1
  23. fi
  24. cp -Rf "$_DIR"/* $_WWW/ &&
  25. chown -R $_USER $_WWW/* &&
  26. echo -n "$(date): update OK"
  27. ## remove old archives and unpacked directory
  28. for i in $(ls -1d serverside* | grep -v "$_ARC"); do rm -Rf "$i"; done
  29. cd $_PWD
  30. exit 0