1 votos

¿Cómo puedo controlar el tamaño de un archivo?

Tengo un particular abandonado proyecto de código abierto (StreamBaby) en mi home media server, un Mac Mini. Es impresionante, pero tiene un desafortunado asunto que, en ocasiones, lleva a la aplicación para generar un absolutamente masiva de registro de errores - como en el orden de decenas de gigabytes. A veces el tiempo me doy cuenta de que, se trata de más de 100 GB. Todo lo que tengo que hacer es eliminarlo y reiniciar el servicio y todo está muy bien, pero, obviamente, pueden surgir problemas si la unidad se queda sin espacio debido a esto.

Me gustaría monitor en este archivo y cualquier momento es más grande que tal vez 10MB, alerta de mí de alguna manera (beep, enviar un correo electrónico, pop una alerta... algo). He encontrado los servicios que controlar si el tamaño del archivo ha cambiado, pero necesito monitor para un tamaño específico.

Se puede hacer esto a través de Automator, AppleScript, o de algún otro medio?

1voto

Si en realidad no se necesita el contenido del archivo, se podría vincular a /dev/null lo que significa que nada se escriben en el archivo desaparecerá de inmediato. Para hacerlo

  • salir de la aplicación
  • rm /path/to/logfile
  • ln -s /dev/null /path/to/logfile

1voto

Lao-tzu Puntos 723

Desde crear enlace simbólico para que no funciona , usted podría usar un cronjob para simplemente borre el archivo de cada ahora y entonces.

Para que usted tendrá el Terminal. Si usted no está familiarizado, aquí es una introducción.

Utilice el siguiente comando para abrir el archivo crontab (sólo llame a crontab -e si desea utilizar vim en su lugar):

EDITOR=nano crontab -e

Inserte el siguiente y guarde el archivo (con Ctrl-X -> y -> enter). Usted debe cambiar el archivo para el archivo de registro

0 */1 * * * > "/Users/chaos/Library/Logs/SomeLog.log"

Me explico: 0 */1 * * * significa que por cada hora en que el comando será ejecutado (a menos que esté desactivado, por supuesto). Ver wikipedia para más información.

El comando que se ejecuta es básicamente diciendo: "redirigir nada para el archivo" efectivamente truncar a 0 bytes. Usted puede reconocer desde echo something > somefile.log.

FYI: El demonio cron se iniciará automáticamente por launchd si un cronfile existe.

0voto

Bueno, pues resulta que aunque será un poco difícil realmente supervisar el archivo en cuestión para eliminar sólo es necesario,es trivial en Automator para simplemente cerrar el servicio en ejecución, elimine el archivo de registro, y re-iniciar el servicio. Entonces puede simplemente ejecutar este trabajo todos los días para decir las 4 de la madrugada, cuando nadie es probable que estar viendo cualquier cosa, desde cualquier servidor, y deben ser las cosas buenas. Gracias @patrix, @2called-caos, y @marca para en última instancia, todo lo que me llevó a esta solución.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X