Avisos
Vaciar todo

[Resuelto] Cron para eliminar carpetas

10 Respuestas
3 Usuarios
0 Reactions
34 Visitas
Respuestas: 8
Active Member
Topic starter
 

Hola: necesito, si alguien pudiera proporcionarme, un comando CRON para eliminar carpetas de un directorio.

El comando sería para insertarlo desde el servidor, y no afectaría a una carpeta de wordpress sino de moodle.
Sé que no hay soporte para moodle aquí, pero entiendo que se trataría de un comando cron genérico.

El problema surge porque un directorio de "moodledata" que recoge archivos temporales de caché, se llena demasiado rápido (en 3 o 4 días).
Es probable que el problema surja también por estar usando una versión relativamente antigua de Moodle, pero no la puedo actualizar debido a que un par de plugins fundamentales no tiene actualización más allá de la versión que estoy usando.

Si alguien me puede echar una mano lo agradecería. 

Saludos!

Contenido solo visible a usuarios registrados


 
Respondido : 19/08/2025 8:33 pm
Tags del tema
Bruno
Respuestas: 6528
Illustrious Member Moderator
 

Hola Crisitán,

Considerando de que ya tienes presente como añadir tareas programadas desde WePanel

https://guias.webempresa.com/preguntas-frecuentes/crear-tareas-programadas-tareas-cron-cpanel/

Como tambien interpretando que conoces la ruta absoluta de la ubicación de la carpeta "moodledata"

La sintaxis del comando seria algo como lo siguiente

rm -rf /r/var/www/moodledata/*

El intervalo de ejecución de la tarea lo configuras desde los campos en la misma vista donde colocaras el comando sugerido

Válida la ruta absoluta y haz la prueba

Saludos!


 
Respondido : 19/08/2025 9:16 pm
Respuestas: 8
Active Member
Topic starter
 

@bruno-vichetti muchísimas gracias por tu ayuda.

He puesto el comando para que se ejecute cada 3 días, pero me da la sensación que no está funcionando porque hoy, 26 de agosto, veo allí archivos con fecha del 19

Lo he modificado un poco porque la carpeta moodledata no está en public_html (o www) sino en el directorio raíz.

La carpeta dentro de "moodledata" cuyos archivos (carpetas y documentos) quiero eliminar periódicamente es "localcache"

Me quedó así: rm -rf /r/var/moodledata/localcache/*

Tal vez haya cometido algún error ahí, porque no estoy muy familiarizado con los comandos CRON

 

Captura de pantalla 2025 08 26 170120
Captura de pantalla 2025 08 26 170503

De todas formas, el problema es ahora menos grave, después de hacer una limpieza exhaustiva de plugins de moodle

Gracias otra vez, un cordial saludo

Captura de pantalla 2025 08 26 171049

 

 


 
Respondido : 26/08/2025 3:11 pm
Karen Rios
Respuestas: 18764
Illustrious Member Moderator
 

Hola Cristian, 

Inicialmente porque tienes en la ruta de tu cron /r/ prueba utilizar el siguiente cron y comprueba si con este funciona, debes colocar tal como te indico en la imagen 

  • Minuto: 0
  • Hora: 0
  • Día: */3
  • Mes: *
  • Día de la semana: *
image

Comando:

/usr/bin/php -d memory_limit=512M /home/USUARIO/public_html/admin/cli/purge_caches.php

Ten en cuenta cambiar /home/USUARIO/public_html/ por la ruta donde tienes instalado to moodle

Verifícalo y nos comentas como va todo

Un Saludo


 
Respondido : 26/08/2025 4:15 pm
Respuestas: 8
Active Member
Topic starter
 

@karen muchas gracias por tu respuesta.

Lo que pasa es que moodle, si bien se instala en public_html, tiene una carpeta llamada "moodledata" que no va allí, sino un nivel arriba, o sea en el mismo nivel que public_html

Y el directorio "localcache", que es el que quiero limpiar periódicamente, no está en "public_html/moodle" sino en la carpeta "moodledata" que está en el mismo nivel que public_html.

Por otra parte, tampoco se trata exactamente de purgar las caches (porque eso lo he probado desde el mismo moodle y no tiene efecto sobre la carpeta "localcache") sino de eliminar una serie de directorios que se crean automáticamente en "moodledata/localcache"

Gracias!


 
Respondido : 26/08/2025 4:27 pm
Karen Rios
Respuestas: 18764
Illustrious Member Moderator
 

Hola Cristina, 

Entiendo, en este caso prueba sin con el siguiente comando funciona eliminar solo el contenido de la carpeta localcache 

/usr/bin/find /var/www/moodledata/localcache -mindepth 1 -delete

Verifícalo y nos comentas como va todo

Ten en cuenta siempre mantener una copia de seguridad del sitio por si se genera algun tipo de error

un Saludo 


 
Respondido : 26/08/2025 6:47 pm
Respuestas: 8
Active Member
Topic starter
 

Buenas: ante todo muchas gracias a quienes me están ayudando.

He probado el siguiente comando:

/usr/bin/find /var/www/moodledata/localcache -mindepth 1 -delete

y no ha funcionado

entonces lo he probado eliminando "www" de la ruta (ya que la carpeta "moodledata" no está allí)

/usr/bin/find /var/moodledata/localcache -mindepth 1 -delete

y tampoco ha funcionado.

No sé si lo que he hecho tiene sentido, pero quería agotar mis posibilidades antes de volver a preguntar.

Los permisos de todos los directorios que hay dentro de "localcache" son 777

Adjunto captura de la carpeta "localcache" donde se pueden ver directorios del 19/8 y del comando cron

Gracias, saludos


 
Respondido : 10/09/2025 2:34 pm
Karen Rios
Respuestas: 18764
Illustrious Member Moderator
 

Hola Cristián, 

Prueba con este comando y revisa si funciona: 

rm -rf /home/aulaactu/moodledata/localcache/*

Verifícalo y nos comentas como va todo

Un Saludo

 

 
Respondido : 10/09/2025 2:51 pm
Respuestas: 8
Active Member
Topic starter
 

Perfecto. Este ha funcionado. Muchas gracias


 
Respondido : 22/09/2025 1:35 pm
Karen Rios
Respuestas: 18764
Illustrious Member Moderator
 

Hola Crisitán,

Enhorabuena ha funcionado, es un placer para nosotros siempre poder ayudarte.

No dudes en escribirnos si tienes cualquier otra consulta. 

Un Saludo 😊 


 
Respondido : 22/09/2025 2:11 pm