¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Marcas de tiempo ctime, atime y mtime en archivos y directorios de Linux 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas un archivo se involucran tres controles de fecha y hora en el archivo.

  • ctime: 'change time' indica el tiempo de la última modificación que se realizó al archivo en términos de su inodo (inode). Es decir, cambios en los permisos, propietario, etc. También, lo utiliza el comando dump para determinar el último respaldo que se realizó al archivo. Es posible ver este tiempo con la opción c del comando ls. Ejemplo ls -lc
  • atime: 'access time' indica el tiempo en que el archivo fue por última accedido para mostrar su contenido. Por ejemplo cuando se usan los comandos cat, more, less o un script, en que se despliega el contenido del archivo se modificará su atime. Es posible ver este tiempo con la opción u del comando ls. Ejemplo ls -lu
  • mtime: 'modify time' indica el tiempo en que el contenido del archivo fue por última vez mofificado o editado, por ejemplo cuando usas un editor de texto o se altera por un script, etc. Con la opción l del comando ls se muestra este tiempo, que entonces, es el que estamos acostumbrados a observar con el listado ?ipico: ls -l

stat

Otra forma de ver estos tiempos todos a la vez es con el comando stat seguido del nombre del archivo:

#> stat /etc/passwd
  File: «/etc/passwd»
  Size: 2160            Blocks: 16         IO Block: 4096   fichero regular
Device: 302h/770d       Inode: 3439615     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2008-04-20 22:30:01.000000000 -0500
Modify: 2008-03-24 17:59:49.000000000 -0600
Change: 2008-03-24 17:59:49.000000000 -0600

stat no solo muestra las tres marcas de tiempo, sino también otro tipo de información útil y relevante como el tamaño del archivo, el total de bloques de discos utilizados, el número de inodo, los enlaces, sus permisos, etc.

Por cierto, el comando stat tiene la opción f que permite ver el estatus pero de un sistema de archivos completo, ejemplo:

$> stat -f /home
  File: "/home"
    ID: 0        Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 4960223    Free: 4915372    Available: 4659337
Inodes: Total: 5124480    Free: 5124172

Solo hay que indicar el sistema de archivos, en este caso '/home'. En sistemas de archivos con un uso intenso de manejo de archivos como pudiera ser un fileserver con samba para varios clientes Windows XP, sería relevante por ejemplo, estar observando el total de bloques o inodos libres en el dispositivo.


Consideraciones con la marca de tiempo atime

Linux tiene una opción especial en el comando mount que se llama 'noatime' que puede añadirse en el archivo de configuración /etc/fstab en los dispositivos que se crea conveniente, por ejemplo de la siguiente manera:

# vi /etc/fstab
/dev/sda2          /         ext3          defaults,noatime          1  2
...



# mount
/dev/sda2 on / type ext3 (rw,noatime)
none on /proc type proc (rw)
/dev/sda1 on /boot type ext3 (rw)
/dev/sda3 on /home type ext3 (rw)

Se observa como el filesystem '/' ahora tiene la opción 'noatime' y lo que hará es no actualizar esta marca de tiempo cuando cualquier archivo sea leido. La importancia de esto radica en que si no te importa saber cuando fue la última vez que un archivo fue accedido para mostrar su contenido, ganarás un pequeño rendimiento en el performance del disco, ya que se supone que escrituras al disco (para modificar el atime) son caras cuando se hace con varios archivos en sistemas muy utilizados.

Ahora bien, puedes lograr el mismo efecto de no modificar el atime pero por archivo, sin necesidad de hacerlo a nivel de todo el sistema de archivos. Y esto es con el comando chattr que permite varios atributos de un archivo, entre ellos dejar fijo el atime. Esto se logra con la opción A: (debes ser root)

# > chattr +A reporte.txt
# > lsattr reporte.txt
-------A----- reporte.txt


Puedes consultar mas sobre esto en las páginas del manual: man chattr



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.

Más artículos de LinuxTotal

En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....


Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes, unidades de cinta, memorias usb, etc.....


El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto....


Cuando usas rm para eliminar o borrar un archivo, lo que realmente sucede es que los datos del archivo, su información tal cual, ....


SSH (Secure SHell), www.openssh.com, es la herramienta de conexión segura mas usada en el mundo Linux, no hay nada como ssh para ....


Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....


El muy usado comando man, que lo encuentras en cualquier distribucción de Linux, te permite leer las páginas del manual de otros....


GNU/Linux es increiblemente fácil de configurar, no bases de datos raras, no registros, no directorios regados por aquí y por al....


yum es un paquete administrador de software(software package manager). Es una muy útil herramienta para instalar, actualizar y re....


La gente considera encriptar algunos o todos sus archivos por múltiples razones. Ya sea que no puedan depender en seguridad físi....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com