linux

Linux: Borrar archivos backup mas viejos de 7 dias

Linux: script para borrar archivos backup mas viejos de 7 dias

Llevaba un tiempo queriendo dejar un poco mejor hecho el tema de los backups del blog para evitar quedarme colgado sin un backup en condiciones y no sabía como hacer para evitar llevar el disco de copias viejas y llegar al punto de que el vps me diera error  por no tener suficiente espacio.

Había probado varios scripts para hacer backup pero la mayoría de ellos eran sencillos para generar los ficheros de las copias, pero no se encargaban de borrar los archivos de backup de mas de X días, con el fin de tener siempre alguna copia fresca y borrar las ya viejas, la base de datos es posible dejar mas días de copia ya que de momento, ocupa muchísimo menos.

Para aquellos que quieran borrar archivos de backup (la verdad es que puede ser para cualquier tipo de archivo, pero en mi caso, como estoy con los backups) que sean mas viejos de X días, la linea de comando a ejecutar es:

find /home/user/backups/backup* -mtime +7 -exec rm {} \;

En el comando anterior, con “find” localizamos los archivos que tengan de fecha “-mtime”  que sean mas viejos de 7 días “+7” y ejecuta la orden de consola de borrado de los ficheros mostrados en el resultado del anterior comando “-exec rm {}”.

De esta manera garantizamos que nuestro directorio de backups no engorde y nos ocupe el sitio que tenemos contratado con para el alojamiento y evitar el fallo del servidor por falta del mismo.

Para poder automatizar la ejecución de dicho script, y no necesitar ejecutarlo manualmente cada día o cada X días, podemos añadirlo al cron (si nuestro hosting lo permite) y así lanzarlo a ciertas horas para así hacerlo sin tener que controlarlo, para ello, podemos añadir al cron la siguiente linea:

0 4 * * * find /home/user/backups/backup* -mtime +7 -exec rm {} \;

De esta manera, a las 4:00 am se ejecutará solo y siempre tendremos las copias preparadas y sin pasar de los días que queramos.

backup

magento

Problema de backups de Magento 1.7

Hace un tiempo que llevo usando el magento, en producción estoy usando la 1.4 y la verdad es que va muy bien. Pero por probar a título personal, estoy probando la versión 1.7 y la verdad, incorpora mejoras y carencias que la 1.4 tiene. El problema me lo he encontrado cuando he querido hacer un backup de sistema. Primero me daba un error de permisos “Not enough permissions to create backup”, cosa que no entendía porque mi instalación casi limpia, tan solo algunos plugins para probar, pero poco mas.

Después de leer en diversos sitios he visto que hay poca documentación en castellano hablando de dicho problema y no he dado con la solución aún, creo haber encontrado un avance y lo explicaré aquí por si a alguien le ayuda a solucionar el problema:

La fuente la encontré en el foro oficial de magento hablando del problema:

 

Por el momento podemos localizar el fichero en el que no hay permisos suficientes para que nuestro magento sea capaz de meterlo al backup, para ello necesitamos:

  • Desde el raíz de nuestra instalación de Magento, copiamos el fichero lib/Mage/Backup/Filesystem/Helper.php a app/code/local/Mage/Backup/Filesystem/Helper.php . Ojo: Si no existe la estructura de directorios, hay que crearla.
  • Editamos el Helper.php que hemos creado nuevo (el que está en app/code/local/Mage/Backup/Filesystem)
  • Buscamos:
if (($infoOptions & self::INFO_READABLE) && !$item->isReadable()) {    $info['readable'] = false;}
  • Lo cambiamos por:
if (($infoOptions & self::INFO_READABLE) && !$item->isReadable()) {    Mage::log($item->getPathname(), null, 'backup_not_readable_files.log');    $info['readable'] = false;}
  • Nos vamos a la configuración de nuestro Magento y en desarrollador, activamos el log.
  • Ahora vamos a la herramienta para hacer backup y le damos de nuevo a crear backup del sistema.
  • Ahora, dentro del raíz de nuestro magento, vamos a var/log y en el fichero backup_not_readable_files.log tendremos la lista de los ficheros que no son accesibles.

 

Una vez terminado, podremos borrar sin problema el Helper.php que creamos y modificamos. Yo conseguí descubrir el fichero que me daba el problema en el backup de sistema de magento, aunque de momento no he conseguido terminar de solucionar el problema, ya que no se me crean los backups, se queda a medio del backup con el fichero tar temporal.

Seguiré investigando e intentaré dar con la solución para publicarlo.