pull-serverside-repo.sh 989 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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
  18. # echo 'im up-to-date'
  19. exit 0
  20. fi
  21. _DIR=($(tar xvzf $_ARC 2>/dev/null))
  22. if [[ -z "$_DIR" ]]; then
  23. echo 'error extracting archive'
  24. exit 1
  25. fi
  26. cp -Rf "$_DIR"/* $_WWW/ &&
  27. chown -R $_USER $_WWW/* &&
  28. _OUT="$(date): update OK"
  29. echo "$_OUT"
  30. if [[ ! -z "_OUT" ]]; then
  31. echo -e "Subject: pull-serverside-repo.sh\n$_ARC\n$_OUT" | sendmail -f'sg1@superglue.it' -t -s192.168.1.100 robot@k0a1a.net
  32. fi
  33. ## remove old archives and unpacked directory
  34. for i in $(ls -1d serverside* | grep -v "$_ARC"); do rm -Rf "$i"; done
  35. cd $_PWD
  36. exit 0