Skip to content

Instantly share code, notes, and snippets.

@WHK102

WHK102/upgrade.sh

Created Apr 2, 2019
Embed
What would you like to do?
Actualizador de phpbb3
#!/bin/bash
# Fuente: https://hackerdev.net/viewtopic.php?f=19&t=8&p=8
echo '+ Validando versión actual ...';
LOCAL_VERSION=$(ssh hackerdev.net@hackerdev.net '
mysql hackerdev -e "
SELECT config_value
FROM phpbb_config
WHERE config_name = 0x76657273696f6e
";
' | sed -n 2p);
echo "+ La versión actual del foro es PHPBB-${LOCAL_VERSION}";
echo '+ Validando versión pública ...';
REMOTE_VERSION=$(wget -q -O - 'https://www.phpbb.com/downloads/' | grep -o 'files/release/phpBB-.\+.zip".\+Download Latest' | awk -F'-' '{print $2}' | awk -F'.zip' '{print $1}');
echo "+ La versión actual pública es PHPBB-${REMOTE_VERSION}";
if [ "$LOCAL_VERSION" != "$REMOTE_VERSION" ]; then
echo '+ El foro necesita una actualización.';
echo '+ Descargando la última versión de phpbb3 ...';
rm -f '/tmp/phpbb3.zip';
wget -q "https://www.phpbb.com/files/release/phpBB-${REMOTE_VERSION}.zip" -O /tmp/phpbb3.zip
echo '+ Descomprimiendo ...';
mkdir -p '/tmp/phpbb3/';
unzip -q '/tmp/phpbb3.zip' -d '/tmp/phpbb3/';
rm -f '/tmp/phpbb3.zip';
rm -rf '/tmp/phpbb3/phpBB3/install/'
echo '+ Aplicando cambios al proyecto actual ...';
rsync -tvrz --delete \
--exclude="/config.php" \
--exclude="/cache/" \
--exclude="/download/" \
--exclude="/files/" \
--exclude="/store/" \
--exclude="/images/" \
--exclude="/styles/ClearByte/" \
'/tmp/phpbb3/phpBB3/' \
'../public_html/' \
;
rm -rf '/tmp/phpbb3/'
echo '+ Obteniendo información sobre el paquete de traducción al español ...';
MOD_ID=$(wget -q -O - 'https://www.phpbb.com/customise/db/translation/spanish_formal_honorifics' | grep "Download.\+${REMOTE_VERSION}" | awk -F' ' '{print $2}' | awk -F'/' '{print $7}' | awk -F'?' '{print $1}');
echo '+ Descargando paquete de traducción al español ...';
wget -q "https://www.phpbb.com/customise/db/download/${MOD_ID}" -O '/tmp/phpbb-translation.zip';
echo '+ Descomprimiendo ...';
mkdir -p '/tmp/phpbb-translation/';
unzip -q '/tmp/phpbb-translation.zip' -d '/tmp/phpbb-translation/';
echo '+ Aplicando cambios al proyecto actual ...';
rsync -tvrz \
/tmp/phpbb-translation/spanish_formal_honorifics*/ \
'../public_html/' \
;
rm -rf '/tmp/phpbb-translation/';
echo '+ Sincronizando cambios en el servidor ...';
rsync -tvrz --delete --progress \
--exclude="/config.php" \
--exclude="/cache/" \
--exclude="/download/" \
--exclude="/files/" \
--exclude="/store/" \
--exclude="/images/" \
--exclude="/styles/ClearByte/" \
'../public_html/' \
hackerdev.net@hackerdev.net:/home/hackerdev.net/public_html/ \
;
echo '+ Eliminando caché ...';
ssh hackerdev.net@hackerdev.net '
rm -rf /home/hackerdev.net/public_html/cache/production/;
rm -rf /home/hackerdev.net/public_html/cache/installer/;
';
echo '+ Migrando base de datos ...';
ssh hackerdev.net@hackerdev.net '
php /home/hackerdev.net/public_html/bin/phpbbcli.php db:migrate --safe-mode
';
echo '+ Actualización finalizada.';
else
echo "+ El foro no necesita una actualización.";
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment