Implémentation de la vérification
This commit is contained in:
parent
1b7d56627d
commit
e2c9c48a1a
2 changed files with 39 additions and 0 deletions
38
check.sh
Executable file
38
check.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Script de vérification. Récupère la liste des fichiers répertoriés, et
|
||||
# vérifie leur état, en fonction de leur taille et leur somme de contrôle
|
||||
|
||||
DATE=$(date +%s)
|
||||
FULL_DATE=$(date -d "@$DATE" "+%Y-%m-%d %H:%M:%S")
|
||||
|
||||
for c in $(sqlite3 suidchecker.db "SELECT chemin FROM fichier;")
|
||||
do
|
||||
if [ -f $c ]
|
||||
then
|
||||
checksum=$(cksum $c | cut -d' ' -f1)
|
||||
taille=$(cksum $c | cut -d' ' -f2)
|
||||
|
||||
old_checksum=$(sqlite3 suidchecker.db "SELECT checksum FROM
|
||||
fichier WHERE chemin='$c';")
|
||||
|
||||
old_taille=$(sqlite3 suidchecker.db "SELECT taille FROM fichier
|
||||
WHERE chemin='$c';")
|
||||
|
||||
if [ $checksum -eq $old_checksum -a $taille -eq $old_taille ]
|
||||
then
|
||||
status="identique"
|
||||
else
|
||||
status="modifié"
|
||||
fi
|
||||
sqlite3 suidchecker.db "INSERT INTO controle VALUES(
|
||||
'$c','$DATE','$checksum','$taille','$status');"
|
||||
else
|
||||
status="supprimé"
|
||||
sqlite3 suidchecker.db "INSERT INTO
|
||||
controle(chemin,date,status) VALUES('$c',
|
||||
'$DATE','$status');"
|
||||
fi
|
||||
|
||||
echo -e "$FULL_DATE $c $status"
|
||||
done
|
1
init.sh
1
init.sh
|
@ -32,6 +32,7 @@ sqlite3 suidchecker.db "CREATE TABLE controle(
|
|||
chemin TEXT,
|
||||
date INTEGER,
|
||||
checksum INTEGER,
|
||||
taille INTEGER,
|
||||
status TEXT,
|
||||
FOREIGN KEY(chemin) REFERENCES fichier(chemin),
|
||||
PRIMARY KEY(chemin,date)
|
||||
|
|
Loading…
Reference in a new issue