Buscar

Linux: Cambiar fecha de un archivo

En ocasiones nos podemos encontrar con la necesidad de tener que cambiar la fecha de modificación, etc... de un archivo en sistemas Linux.

Antes de empezar, hemos de entender que existen 3 tipos de marcas de tiempo en los ficheros.

Fijémonos en este ejemplo:

Linux: Cambiar fecha de un archivo

Con el comando stat, al indicar como parámetro un fichero, vemos que aparece:

Access: Se actualiza cuando abrimos el fichero, por ejemplo, cuando utilizamos comandos tipo: car, grep, tail, etc..

Modify: Se actualiza cuando cambiamos el contenido del fichero.

Change: Se actualiza cuando cambiamos permisos, propietario: usuario, grupo, etc... 

También, dependiendo de la distribución de Linux que vayamos a utilizar, podremos ver que se utiliza: atime, ctime o mtime.

atime: Access time

mtime: Modify time

ctime: Change time

Cuando ejecutamos ls -l, estamos listando el: mtime

Cuando ejecutamos ls -lu, estamos listando el: atime

Cuando ejecutamos ls -lc, estamos listando el: ctime

Para cambiar cada uno de ellos, utilizaremos el comando: touch.

El formato para especificar la fecha con touch, es:

YYMMDD: Año, mes, día, hora, minuto.

o si también queremos especificar hora:

YYMMDDhhmm: Año, mes, día, hora, minuto.

Con parámetros específicos del comando touch, podremos cambiar directamente la fecha de: Access y Modification, pero no de Change.

Para cambiar la fecha de Change, deberemos cambiar temporalmente la hora del sistema.

Especial atención con los servicios que están funcionando sobre el equipo con cambiar la hora del sistema, puede que haya algún servicio que deje de funcionar o su funcionamiento no sea correcto.

Ejemplos:

#Modificamos el access time:

touch -a --date="2001-05-10" fichero-sysadmit.txt

#Modificamos el modification time:

touch -m --date="2001-05-10" fichero-sysadmit.txt


#Modificamos el change time:

Ahora=$(date)

#Cambiamos la hora del sistema:

date --set "2001-05-10"

#Actualizamos la hora del fichero, con la fecha actual:

touch fichero-sysadmit.txt

#Volvemos a la fecha actual:

date --set "$Ahora"


---

Directivas de grupo (GPO): Evento gratuito y curso en Barcelona

Aprovecho para comentaros que el próximo: Martes, 22 de Mayo, seré el ponente de un evento gratuito en Barcelona al que os podéis inscribir: "25 consejos prácticos para mejorar tu infraestructura de directivas de grupo (GPO)"


También, el 8 de Junio se inicia un curso presencial en Barcelona sobre directivas de grupo (GPO).

Son 5 sesiones de 5h los viernes tarde, ideal para combinarlo con el trabajo.

El curso es totalmente práctico y basado en laboratorios y escenarios de empresa.

Podéis ver el detalle e inscribiros al evento y/o al curso en el siguiente enlace: 


http://www.sysadmit.com/p/cursos.html

No hay comentarios:

Publicar un comentario