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, chemin TEXT,
date INTEGER, date INTEGER,
checksum INTEGER, checksum INTEGER,
taille INTEGER,
status TEXT, status TEXT,
FOREIGN KEY(chemin) REFERENCES fichier(chemin), FOREIGN KEY(chemin) REFERENCES fichier(chemin),
PRIMARY KEY(chemin,date) PRIMARY KEY(chemin,date)