• seguici su feed rss
  • seguici su twitter
  • seguici su linkedin
  • seguici su facebook
  • cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



ricordami per 365 giorni

HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO ? CLICCA QUI E REGISTRATI !

Come visualizzare la data di creazione, ultima modifica e accesso ai files in Linux utilizzando i comandi debugfs e stat

di :: 30 aprile 2018
Come visualizzare la data di creazione, ultima modifica e accesso ai files in Linux utilizzando i comandi debugfs e stat

In Linux tutte le informazioni relative ad un file (i metadati, la data di creazione, ultima modifica....) sono salvate in un "inode", abbreviazione di "index node", ed ogni file è identificato da un "numero di inode".

Quando creo un file o una directory e viene creato un inode identificato da un numero univoco, ad esempio 1441809: un "inode" è un record nella tabella di un hard disk, che contiene varie informazioni su uno specifico file o directory o qualunque altro oggetto del filesystem. Tra  queste informazioni abbiamo la dimensioni del file (o della directory), il suo proprietario e gruppo di appartenenza, la data di ultima modifica ed accesso, i permessi, ....

Per saperne di più sugli inode leggi questo articolo.

Vediamo assieme come visualizzare le seguenti informazioni relative ad un file:

  • ctime (change time): identifica la data di ultima modifica del file, sia che si tratti del suo contenuto che dei suoi attributi (ad esempio i permessi)
  • atime (access time): identifica la data di ultimo accesso al file
  • mtime (modification time): identifica la data di ultima modifica del solo contenuto del file (SOLO del suo contenuto, non dei suoi attributi)
  • crtime (creation time): identifica la data di creazione del file

Per ottenere queste quattro informazioni abbiamo bisogno di alcune informazioni preliminari

1: indentifichiamo il numero di inode del file

Innanzitutto, individuiamo utilizzando il comando "ls" il numero di inode del file/directory che ci interessa analizzare, ad esempio un file chiamato "index.php" presente nella directory "/var/www/html" del nostro server

# ls -i /var/www/html/index.php
72802306 /var/www/html/index.php

72802306 è il numero di inode che stavamo cercando. Prendi nota di questo numero.

Alternativamente avremmo potuto usare il comando "stat"

# stat /var/www/html/index.php
File: `/var/www/html/index.php'
Size: 2               Blocks: 8          IO Block: 4096   regular file
Device: 811h/2065d      Inode: 72802306    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-29 01:01:08.000000000 +0200
Modify: 2014-12-16 18:39:30.000000000 +0100
Change: 2014-12-16 18:39:48.000000000 +0100

2 - individuiamo il device in cui risiede il nostro file

Oltre al numero di inode dobbiamo sapere qual'è il device dove risiede in nostro file nel filesystem.

Utilizziamo il comando "df" in questo modo, e, ad esempio nel nostro sistema linux, otteniamo questa informazione

# df -h
/dev/sda1       190G   25G  155G  14% /
tmpfs            63G     0   63G   0% /dev/shm
/dev/sdb1       2.3T   24G  2.1T   2% /myfolder

Il nostro file è localizzato in /dev/sdb1

3 - visualizziamo le informazioni sul file

Con le informazioni ottenute al punto 1 e 2 possiamo finalmente visualizzare il ctime atime mtime e crtime utilizzando il comando "debugfs" in questo modo

# debugfs -R 'stat <inode_number>' /dev/sdb1

Al posto di "inode_number" mettiamo il numero inode del nostro file

# debugfs -R 'stat <72802306>' /dev/sdb1

Attendiamo qualche istante per l'elaborazione ed otteniamo

debugfs 1.41.12 (17-May-2010)
Inode: 72802306   Type: regular    Mode:  0644   Flags: 0x0
Generation: 4054373466    Version: 0x00000000
User:     0   Group:     0   Size: 2
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x54906e64 -- Tue Dec 16 18:39:48 2014
atime: 0x5ae4fd34 -- Sun Apr 29 01:01:08 2018
mtime: 0x54906e52 -- Tue Dec 16 18:39:30 2014
crtime: 0x54906e64 -- Tue Dec 16 18:39:48 2014
Size of extra inode fields: 4
BLOCKS:
(0):291235844
TOTAL: 1

Come possiamo vedere che il nostro file è stato creato il 16 dicembre 2014 alle ore 18:39, modificato il 29 dicembre 2018, e visualizzato l'ultima volta il 29 aprile 2018 alle ore 01:01

 
 
 
 
pay per script

Hai bisogno di uno script PHP personalizzato, di una particolare configurazione su Linux, di una gestione dei tuoi server Linux, o di una consulenza per il tuo progetto?

x

ATTENZIONE