Para finalizar este tutorial sobre Joomla y gFTP les dejo este script hecho en bash shell de GNU/linux y que puede servir para descargar una copia de la instalación de nuestro sistema (en realidad sirve para cualquier web). Lo podemos usar dentro del cron de linux de manera que las copias se hagan solas cada cierto período de tiempo. Las explicaciones sobre cómo usarlo están dentro del mismo script y sino saben nada de cron, bájense un breve manual que hay en la sección Descargas de mi web -> Manuales Varios. Es un muy buen trabajo de Sergio Gonzalez Durán…
Si tienen acceso shell a sus servidores pueden incluir en el mismo script los comandos necesarios “mysql -dump… etc.” para bajarse una copia de la base de datos -como por ahí expliqué en tutoriales anteriores- y de ese modo la copia de seguridad será mas completa.
El código es este con las explicaciones del caso para cada línea. Deben reemplazar “usuario” con su nombre de usuario en GNU/Linux y en la sección de gFTP con su nombre de usuario y contraseña para acceso a sus servidores por FTP.
# Directorio de salida: lugar donde se almacenarála copia de seguridad finalcompactada.
# Nombre del archivo que tomará el tar gzip
OUTPUT=/home/usuario/Documents/backup_sitiojoomla_$(date +%Y%m%d).tgz
# Creo un directorio temporal donde almacenar la descarga
mkdir /home/tux/tempbk &
# Me cambio al directorio temporal creado
cd /home/tux/tempbk &
# Cargo la variable con el nombre del directorio temporal para usarla luego
BUDIR=/home/tux/tempbk
# Me bajo una copia de la instalación completa de Joomla con gFTP consola
# Debe indicar el password ya que el sript se ejecuta en segundo plano… lo siento!
gftp-text -d ftp://usuario:password@ftp.misitio.comf /www &
# Mostrar en la pantalla de lo que estamos por hacer
echo “Creando archivo gzip con el backup de $BUDIR al archivo $OUTPUT”
# Creando el archivo zipeado
tar -czf $OUTPUT $BUDIR &
# Chequeando si se realizó la copia y sino mostrar error
# La variable “$?” devuelve el estado del último programa ejecutado.
# Si terminó será 0 sino mostrará algúnn mensaje de error
if [ $? == 0 ]; then
echo “El archivo:”
echo $OUTPUT
echo “ha sido creado como backup del sitio:”
echo $BUDIR
else
echo “A ocurrido un problema el archivo:”
echo $OUTPUT
echo “como backup del sitio:”
echo $BUDIR
fi
# Borro el directorio temporal
rm -dfr /home/tux/tempbk &
Pueden descargar el script que adentro incluye todas las explicaciones y formas de uso de la sección descargas de mi web Software -> GNU/Linux. El script está funcionando actualmente en mi servidor.
Nota: El archivo de descarga está con formato text bash-shell, deben editarlo con Vi, Nano, Joe o el editor de texto GNU/Linux que prefieran, cuidando que no queden saltos de línea ni nada por el estilo puesto que de lo contrario el intérprete no lo reconocerá y dará un error.