¿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-2024 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

En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas u....


Si se tiene un servidor ssh al que seguramente se conectan clientes desde otros equipos Linux o Windows con clientes de ssh como p....


Imagínate que eres un administrador de sistemas Linux que trabaja desde un equipo Windows y usas Putty para conectarte a los serv....


Como montar imágenes ISO en Linux.....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....


vi es el venerable y confiable editor de texto que encontrarás en TODAS las distintas versiones, distribucciones, sabores de Linu....


Sistemas Linux con gran cantidad de usuarios, como servidores de correo, servidores samba, etc., tarde o temprano tienen el proble....


Lo primero que debes hacer una vez que instalas un servidor de base de datos MySQL (casi todas las distros actuales lo instalan po....


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


En este tutorial sobre listas de control de acceso en squid, aprenderás lo básico de como configurarlas y establecerlas en la co....



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