¿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-2019 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.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

El editor en línea (stream editor) sed es un editor de texto en línea que realiza operaciones de edición sobre datos provenient....


En este archivo de configuración se indica el modo en que los mensajes del sistema son bitacorizados a través de la utileria sys....


Sistemas basados en GNU/Linux (Al igual que sus parientes basados en Unix como BSD o los de Macinstosh) conservan la tradición de....


Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se conv....


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


Este es un pequeño y útil tip que te permitirá crear PDF's a partir de páginas del manual. Cuando deseas ver la ayuda de un co....


...quien resuelve los nombres de dominio a su correspondiente IP, sería el DNS del proveedor, pero si implementamos un DNS Cache,....


El siguiente es un script muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de u....


En SQL, 'Alter' es un comando de la categoría DDL (Data Definition Language) y como su nombre lo indica sirve para alterar objeto....


Hay ocasiones que los usuarios insisten en poner contraseñas muy débiles de 5 o 6 caracteres a lo más. Y el argumento que dan e....



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