Bash : compter les fichiers par date de création

Je voulais mesurer la fréquence des « attaques » en DDoS observées sur mon serveur à partir des fichiers présents dans le dossier /var/log/httpd/mod_evasive.

Modification de l’affichage de la date à l’aide de la commande ls

[root@enfinauchaud ~]# ls -l /var/log/httpd/mod_evasive/ --time-style=+%Y-%m-%d
total 64
-rw-r--r-- 1 apache apache 7 2023-05-27 dos-116.202.49.19
-rw-r--r-- 1 apache apache 7 2023-06-02 dos-130.51.41.57
-rw-r--r-- 1 apache apache 7 2023-05-31 dos-176.159.225.108
-rw-r--r-- 1 apache apache 7 2023-05-21 dos-189.206.27.2
-rw-r--r-- 1 apache apache 7 2023-06-04 dos-2001:861:3201:8f0:2fa3:a2c7:4177:14d0
-rw-r--r-- 1 apache apache 7 2023-06-01 dos-2001:861:3201:8f0:3169:86f9:4564:fcf6
-rw-r--r-- 1 apache apache 8 2023-05-03 dos-2001:861:4e80:30f0:f15e:d458:4beb:bf5d
-rw-r--r-- 1 apache apache 8 2023-04-29 dos-2a01:cb10:8550:b900:74f8:6d5a:fb94:8a2a
-rw-r--r-- 1 apache apache 5 2023-05-17 dos-2a01:e0a:8c0:2c60:7881:f9f4:9fb:55e3
-rw-r--r-- 1 apache apache 7 2023-06-01 dos-37.167.88.51
-rw-r--r-- 1 apache apache 7 2023-05-30 dos-37.170.131.181
-rw-r--r-- 1 apache apache 7 2023-06-01 dos-45.138.114.234
-rw-r--r-- 1 apache apache 8 2023-05-06 dos-51.38.109.141
-rw-r--r-- 1 apache apache 7 2023-05-30 dos-84.239.18.60
-rw-r--r-- 1 apache apache 5 2023-05-19 dos-88.172.22.6
-rw-r--r-- 1 apache apache 7 2023-05-26 dos-92.184.98.221

Bash : compter les fichiers par date de création

Awk à la rescousse

J’ignore la ligne n°1. Et je compte à partir de la colonne 6.

[root@enfinauchaud ~]# ls -l /var/log/httpd/mod_evasive/ --time-style=+%Y-%m-%d |awk -F ' ' 'NR>1{a[$6]++}END{for (i in a){print i,a[i]}}'|sort
2023-04-29 1
2023-05-03 1
2023-05-06 1
2023-05-17 1
2023-05-19 1
2023-05-21 1
2023-05-26 1
2023-05-27 1
2023-05-30 2
2023-05-31 1
2023-06-01 3
2023-06-02 1
2023-06-04 1
1

Bash /