HScript for History Script

Rédigé par BeHuman Aucun commentaire

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.

++

Écrire un commentaire

Quelle est la dernière lettre du mot 6lhypxd ?

Fil RSS des commentaires de cet article