#!/bin/bash ## fetch and update contents of /www/ from git.superglue.it _PWD=$(pwd) _USER='httpd' _WWW='/www' _URL='http://git.superglue.it/superglue/serverside/repository/archive.tar.gz' _ARC=$(curl -Is $_URL | awk -F\" '/serverside/ { print $2 }') cd /tmp if [[ -z "$_ARC" ]]; then echo 'error fetching archive version' exit 1 fi if [[ ! -e "$_ARC" ]]; then echo -n "$(date): fetching $_ARC " curl -OJs "$_URL" || exit 1 echo "OK" else # echo 'im up-to-date' exit 0 fi _DIR=($(tar xvzf $_ARC 2>/dev/null)) if [[ -z "$_DIR" ]]; then echo 'error extracting archive' exit 1 fi cp -Rf "$_DIR"/* $_WWW/ && chown -R $_USER $_WWW/* && _OUT="$(date): update OK" echo "$_OUT" if [[ ! -z "_OUT" ]]; then echo -e "Subject: pull-serverside-repo.sh\n$_ARC\n$_OUT" | sendmail -f'sg1@superglue.it' -t -s192.168.1.100 robot@k0a1a.net fi ## remove old archives and unpacked directory for i in $(ls -1d serverside* | grep -v "$_ARC"); do rm -Rf "$i"; done cd $_PWD exit 0