HScript for History Script
Rédigé par BeHuman
Aucun commentaire
Classé dans : Shell/Bash

Ce script permet de créer une arborescence de dossier classés par années->mois->jours->heures.
Je l'utilise sur mon serveur local, pour copier les fichiers à modifié dans la journnée. Ensuite si je dois vérifier un bout de code fait une semaine avant, j'ai juste à récupérer et comparer mes fichier avec un outils de comparaison tel que meld.
#! /bin/bash _help() { printf " HScript for History Script GNU/GPL v3 by BeHuman (craft at ckdevelop dot org) Utilisation : hscript <directory backup> <directory scan> <no display> Help: -h Exemple : hscript backups WWW '.jpg|.png|.gif|.pdf|.swf|atos-[0-9]*|.csv|.bz2|.zip|.log|.rar|.mp4|.mp3' " exit } _veriffiles() { find "$2" | egrep -v "$3" | while read filename; do if [ -f "$filename" ]; then modif=$(stat -c '%y' "$filename") tim=${modif#* } tim=${tim%.*} hour=${tim%%:*} year=${modif%%-*} base=${modif%% *} day=${base##*-} month=${base#*-} month=${month%-*} pfile=`echo $filename | sed -e 's/\//_/g'` if [ -d "$1/$year" ]; then if [ -d "$1/$year/$month" ]; then if [ -d "$1/$year/$month/$day" ]; then if [ -d "$1/$year/$month/$day/$hour" ]; then if [ ! -f "$1/$year/$month/$day/$hour/[$tim]-$pfile" ]; then echo "Copie de $filename" cp -p "$filename" "$1/$year/$month/$day/$hour/[$tim]-$pfile" fi fi fi fi fi fi done } _verifdir() { if [ -d "$1" ]; then cd "$1" else echo "création du repertoire $1" mkdir "$1" cd "$1" fi } _history() { _verifdir "$1" _verifdir `date +%Y` _verifdir `date +%m` _verifdir `date +%d` _verifdir `date +%H` cd "$3" _veriffiles "$1" "$2" "$4" sleep 5 _history "$1" "$2" "$3" "$4" } if [ "$1" == "-h" ];then _help else _history "$1" "$2" "$PWD" "$3" fi
cette nouvelle version facilite grandement le suivit des modifications faite sur vos projets.
++