Ayer salió una nueva versión de WordPress, la 2.6.2. ¡Oh, no! ¡Hay que actualizar! Lo dejo para mañana… ¡NO! Pero es que me da una pereza…. Ok, es el momento de hacer un script anti-pereza 🙂 La próxima vez que WordPress actualice, será ejecutar el script ¡y listo!
Estando en: $ pwd $DOCUMENT_ROOT/diariolinux.com/httpdocs
Creamos un fichero ./upgrade, con permisos de ejecución, y el siguiente contenido:
$ cat ./upgrade
#!/bin/bash</p>
<h1></h1>
<h1>descargar última versión de WordPress</h1>
<p>wget <a href="http://wordpress.org/latest.tar.gz">http://wordpress.org/latest.tar.gz</a> -P /tmp
pushd .
mkdir /tmp/upgradewp
dir=/tmp/upgradewp
back=<code>date +%d%m%Y_%H%M
new=/tmp/latest.tar.gz
#
copia de seguridad, por si acaso las actualización va mal…
tar -cvzf wordpress$back.tgz * > /dev/null mv wordpress$back.tgz $dir #
mover los ficheros que NO quiero que sean machacados con nuevas versiones
mv .htaccess $dir mv wp-content $dir mv wp-config.php $dir mv favicon.ico $dir cp -R wp-content/uploads $dir cp ./upgrade.sh $dir #
borrar los ficheros de la versión actual de WordPress
rm -rf * #
descomprimir la nueva versión
tar -xvzf $new -C . > /dev/null mv wordpress/* . rmdir wordpress #
recuperar ficheros especiales
cp $dir/.htaccess . cp -R $dir/wp-content . cp $dir/wp-config.php . cp $dir/upgrade.sh . cp $dir/favicon.ico . cp -R wp-content/uploads wp-content/uploads #
elige tus permisos
chmod -R XXX wp-content
¡Ojo! No me responsabilizo de posibles pérdidas de datos. Así que si vas a ejecutar el script que indico, mejor haz primero una prueba en tu máquina local, y asegúrate de que te va a funcionar perfectamente. A mí me funciona, pero YMMV.
Existe un plugin llamado wordpress automatic updgrade que realiza la actualización y además te hace copia de seguridad de la BD y de algunas cosas más, junto a poner un aviso de mantenimiento.
Muy útil.
@Fran: sí, yo lo conozco, pero esto es más divertido!
@admin: juas, que script más útil. Lo probé en una instalación vieja que tenía de WordPress, y realizó todo de manera correcta (aunque me aparecieron unos errores raros). Igual, parece que todo marcha bien.
Ya luego lo comentaré en mi blog. Un saludo!
Para hacer un backup de la BBDD bastaría con añadir:
mysqldump -u USUARIO -a -pCONTRASEÑA BBDD | bzip2 -c > ${dir}/${back}.sql.bz2
Agur!