he hecho un script cutre para aplicar una actualización menor de versión. Lo he probado en réplicas de nuestro entorno de producción y ha funcionado correctamente, aunque es posible que deba adaptarse a cada escenario (yo lo he probado bajo Debian, usando el de la web y no el de los repositorios).
Se podría mejorar, entre otras cosas, para que verifique la versión instalada y la última disponible, pero para salir del paso ya sirve.
Os lo pego por si le puede servir a alguien:
Code: Select all
#!/bin/bash
#Paths y definiciones de variables
OTRS="/opt/otrs"
HOY=`date +%Y-%m-%d`
BACKUP="/root/otrs-backup-$HOY"
#Definiciones de la BD
SQLUSER=otrs
SQLPASS= por defecto es hot
SQLDB=otrs
SQLHOST=localhost
#Inicializar
#Copiaré tambien los idiomas porque hice algunos cambios para adecuarlos a la terminología de la empresa.
mkdir -p $BACKUP/Kernel/Config/Files $BACKUP/Kernel/Language
#Opcional hacer un otrs.DeleteSessionIDs.pl --all y un backup.pl
function DetenerServicios {
/etc/init.d/apache2 stop
/etc/init.d/cron stop
}
function Backup {
cp $OTRS/Kernel/Config.pm $BACKUP/Kernel/
cp $OTRS/Kernel/Config/GenericAgent.pm $BACKUP/Kernel/Config/
cp $OTRS/Kernel/Config/Files/ZZZAuto.pm $BACKUP/Kernel/Config/Files/
cp $OTRS/Kernel/Language/*.pm $BACKUP/Kernel/Language/
tar cfz $BACKUP/var.tar.gz $OTRS/var
mysqldump -u$SQLUSER -p$SQLPASS -h$SQLHOST $SQLDB | gzip > $BACKUP/otrs-$HOY.sql.gz
tar cfz $BACKUP/otrs-$HOY.tar.gz $OTRS
}
function Update {
mv $OTRS $OTRS-$HOY
echo "Indica la nueva versión (ej: 3.1.5): "
read VERSION
wget -P /opt http://ftp.otrs.org/pub/otrs/otrs-$VERSION.tar.gz
cd /opt
tar xfz otrs-$VERSION.tar.gz
mv $OTRS-$VERSION $OTRS
}
function Restore {
cp $BACKUP/Kernel/Config.pm $OTRS/Kernel/
cp $BACKUP/Kernel/Config/GenericAgent.pm $OTRS/Kernel/Config/
cp $BACKUP/Kernel/Config/Files/ZZZAuto.pm $OTRS/Kernel/Config/Files/
cp $BACKUP/Kernel/Language/*.pm $OTRS/Kernel/Language/
}
function Inicializar {
$OTRS/bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=www-data --otrs-group=otrs --web-group=www-data $OTRS
$OTRS/bin/otrs.RebuildConfig.pl
$OTRS/bin/otrs.DeleteCache.pl
}
function LevantarServicios {
/etc/init.d/cron start
/etc/init.d/apache2 start
}
#Main
DetenerServicios
Backup
Update
Restore
Inicializar
LevantarServicios
echo "Y ahora, a actualizar los módulos"