El cron es un programa para ejecutar otros en horas determinadas de forma automatica, es como las "tareas programadas" de ruindows. Pero el cron por si solo no hace nada. Aunque si es verdad que puedes ponerle un sencillo comando como ejecucion, veamos un ejemplo: Si quieres que a las 10:00h de la mañana,todos los dias, borre los contenidos del /tmp, podrias hacer algo asi: /etc/crontab 0 10 * * * rm /tmp/* --end cut--- Espero que esto te aclare sobre el asunto. Salu2 El Jueves, 6 de Mayo de 2004 20:08, Camaleón escribió:
El Jueves, 6 de Mayo de 2004 19:39, ASFL escribió:
Hola camaleon. Mi recomendacion seria que hicieras un script que realizara dicha funcion, algo asi como:
#!/bin/bash
rm /var/log/archivos.log --------- Puedes hacer un ls -l y guardar en una variable la columna sexta, luego con un "if" comparar el año, si es inferior o igual a 2003 luego que proceda el borrado.
Una vez acabado el script puedes poner en el cron el momento de su ejecucion.
Yo he estado realizando un script que se llama vileda. Todavia estoy en la version 0.1c, y con mucha torpeza pero poco a poco voy completando el programa. Dicho script hace varias cosas, pero como su nombre indica (vileda), hace borrados de archivos innecesarios dentro de /var/log y de /tmp.
Salu2
Uhmm... poco a poco.
:-)
En /etc/crontab tengo lo siguiente:
SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 14 0 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
Lo que me está diciendo es que mire los ficheros cron.hourly, etc. Bien, en cron.daily, cron.mouthly y cron.weekly no tengo nada. El cron.hourly tengo esto otro:
clean_catman do_mandb logrotate suse.de-backup-rc.config suse.de-backaup-rpmbd suse.de-check-battery suse.de-clean-tmp suse.de-clean-vi suse.de-cron-local
Supongo que el que interesa aquí es logrotate:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
Vamos para /etc/logrotate.conf...
# see "man logrotate" for details # rotate log files weekly weekly << ¿cada semana?
# keep 4 weeks worth of backlogs rotate 4 << ¿mande?
# create new (empty) log files after rotating old ones create << crear uno nuevo después de rotar los antiguos... no sé
# uncomment this if you want your log files compressed #compress << pues están comprimidos en .gz
# uncomment these to switch compression to bzip2 #compresscmd /usr/bin/bzip2 #uncompresscmd /usr/bin/bunzip2
# RPM packages drop log rotation information into this directory include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here #/var/log/wtmp { # monthly # create 0664 root utmp # rotate 1 #}
# system-specific logs may be also be configured here.
¡Ajá! aquí debe estar el asuntillo... ¿cómo le digo que me comprima, por ejemplo, un fichero cada 6 meses y no cada mes? ¿y que me borre el anterior? No veo información por aquí de /var/log/localmessages, ¿"ande andará"?
Qué lío. ¿Alguna herramienta integrada en KDE para configurar las rotaciones de los log?
:-D
ASFL, se agradece la ayuda prestada. Voy a ver si consigo algo...
Saludos,
-- Camaleón