Implémentation de la vérification

This commit is contained in:
Breizh 2018-01-07 10:32:42 +01:00
parent 1b7d56627d
commit e2c9c48a1a
2 changed files with 39 additions and 0 deletions

38
check.sh Executable file
View 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

View File

@ -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)