rallat: blog

rallat: blog

Developer with social life

 
 
 
 

Missing: Fecha de creación en UNIX

Hoy en el trabajo me han mandado hacer un shell script, que se encargara de buscar los ficheros de logs y eliminar los que tengan una antigüedad superior a 30 días. Pues bien, lo que en ningun momento he dudado, ha sido lo que más de cabeza me ha traido: Como encontrar la fecha de creación de un fichero.
De antemano sabía que las ultimas columnas del comando `ls -ltr` me daban la fecha de modificación, pense en buscar en el `man find` y -ctime pero no esta muy bien expliquicado. Así que fui a saco a buscar a google, cual fue mi sorpresa cuando lei esta frase:

This is a widespread misconception. UNIX filesystems do *not* normally store
the file creation date. The `ctime’ member of the stat structure is often
taken as such, but indeed it records the time of the last i-node *change*.

Vamos que el parametro -ctime y -mtime del comando find son lo mismo.

Después de leer, susodicha frase, el rallat entro en un colapso. Este colapso le llevo a pensar ciertas conclusiones:

  • Unix está hecho por humanos semi-dioses, lo que demuestra que puede tener deficiencias, vease esta misma ( a no ser que alguien me diga que desventaja tiene ).
  • Siempre va bien RTFM ( leer el puto manual ) :)

Related posts:

  1. Trucos de un administrador UNIX Últimamente he estado pensando, lo que significa la experiencia....

Related posts brought to you by Yet Another Related Posts Plugin.

5 Responses to “Missing: Fecha de creación en UNIX”

  1. 1
    Sergi:

    No conocías el logrotate?
    http://www.hispafuentes.com/hf-doc/man/man8/logrotate.8.html

  2. 2
    paco:

    Pues es cierto, puede parecer un fallo “garrafal”, pero si lo miras bien … en tu caso da lo mismo. Si vas a eliminar ficheros de log, es porque ya no estan en uso, no ? Entonces mtime es lo que necesitas, ctime te da igual, sea o no la fecha de creación ;)

    salut.

  3. 3
    Emili:

    Después de consultar a tu profe de ASO, él me ha sugerido que te mires el tema 9 de los apuntes “Rotación de logs”. No sé si te lo puedes aplicar, pero es a base de crons y renombramientos (por lo que pasa de log a log.1, log.2… cada vez que se ejecuta el script, por lo que dependiendo de la frecuencia de ejecución “sabras” la fecha de creación del archivo indirectamente).

    Si Unix está hecho por semi-dioses por el hecho de tener errores, Windows debió aparecer por generación espontánea del universo…

  4. 4
    rallat:

    Gracias Sergi, si me dan el ok, lo instalaré en las máquinas.
    Sino usaré el que ya tengo con el parametro -mtime del find.
    Emili, la frequencia es diaria. El script que hice me funcionará bien, gracias y dale las gracias al señor Perales :)

  5. 5
    new blogger:

    Simply outstanding ^_^! I like posts like that. Your blog is added to my favorites ;-). Continue writing.

Leave a Reply

Add to Technorati Favorites
Israel Ferrer

RSS rallat:blog

rallat photos

www.flickr.com