WikiPrint - from Polar Technologies

Automatycznie update wersji ROBO

Jeśli mamy już gotową wersję ROBO możemy przystąpić do utworzenia automatycznej aktualizacji tej wersji. Auto aktualizacja wersji ROBO jest odtwarzana z wersji produkcyjnej z backupu dnia poprzedniego.

Do uruchomienia harmonogramu potrzebny nam będzie skrypt update_robo, który umieszczamy w katalogu /etc/cron.daily.

#!/bin/bash

# Tworzy zrzut bazy danych 5 razy w tygodniu (uruchamiany z crona)
#  od 1-pon do 5-pia
#
   
WDAY=$(date +%w)
DST="/mnt/backup/db/${WDAY}"
OPTIONS="--force --ignore-errors --delete --delete-excluded \
   --exclude-from=/etc/backup/exclude_robo.conf -a"

#[ -d $DST ] || umask 007 && mkdir $DST 


if [ "$WDAY" -lt 1 -o "$WDAY" -gt 6 ]
then
    exit 1
fi

su - postgres -c "dropdb robo"
su - postgres -c "createdb -O edokumenty robo"
su - postgres -c "gzip -d $DST/edokumenty.sql.gz"
su - postgres -c "psql robo -f $DST/edokumenty.sql"

rsync $OPTIONS /home/edokumenty/public_html/ /home/robo/public_html/
#cp -rp /home/edokumenty/public_html /home/robo/
# Odtwórz config.inc dla wersji robo
# @TODO zamienic na podstawianie nazwy bazy w pliku niż kopiowanie
cd /home/robo/public_html/apps/edokumenty
vim -c '%s/dbname=edokumenty/dbname=robo/' -c 'wq' config.inc
vim -c "%s/define(\'ROBO_VERSION\', FALSE)/define(\'ROBO_VERSION\', \'WERSJA TESTOWA AUTO\')/g" -c 'wq' config.inc

Ważne! Po automatycznym odtworzeniu bazy na ROBO należy sprawdzić czy w pliku config.inc baza z której ma korzystać system eDokumenty to robo

define( 'DB_NAME','dbname=robo  user=http  password= ');
define('ROBO_VERSION','WERSJA TESTOWA AUTO');

Zawartość pliku exclude_robo.conf

/apps/edokumenty/var/log/*
/apps/edokumenty/var/tmp/*
/apps/backproc/data/*
/apps/backproc/logs/*