====== Bash Fonction Utile ======
----
===== Fonction Utilitaire =====
==== Verifier les BadBlocks sur une clé ou un disque USB ====
Un disque ou clé USB ne gére pas la gestion d'erreur SMART. Seul le SATA et L'E-SATA en sont capable.
Pour cela il faudra écrire sur chaque bit de la clé ou du disque pour savoir il est bon.
badblocks -w -s -o usbstick.log /dev/sdz
//usbstick.log// étant un chemin vers un fichier de log.
///dev/sdz// étant le disque à analysé.
===== Date =====
==== Date => Timestamp ====
Date sous la forme : 2006-10-01 15:00
date2stamp () {
date --utc --date "$variableDate" +%s
}
==== Timestamp => Date ====
stamp2date (){
date --utc --date "1970-01-01 $Timestamp sec" "+%Y-%m-%d %T"
}
==== Différence Date ====
dateDiff (){
case $1 in
-s) sec=1; shift;;
-m) sec=60; shift;;
-h) sec=3600; shift;;
-d) sec=86400; shift;;
*) sec=86400;;
esac
dte1=$(date2stamp $1)
dte2=$(date2stamp $2)
diffSec=$((dte2-dte1))
if ((diffSec < 0)); then abs=-1; else abs=1; fi
echo $((diffSec/sec*abs))
}
Peut prendre un paramètre :
* **-s** résultat en seconde
* **-m** résultat en minute
* **-h** résultat en heure
* **-d** résultat en jour (par Défaut)
Exemple :
* **dateDiff -s** "2006-10-01" "2006-10-32"
* **dateDiff -m** "2006-10-01" "2006-10-32"
* **dateDiff -h** "2006-10-01" "2006-10-32"
* **dateDiff -d** "2006-10-01" "2006-10-32"
* **dateDiff** "2006-10-01" "2006-10-32"
Fonctionne aussi avec l'heure seul :
* **dateDiff -s** "17:55" "23:15:07"
* **dateDiff -m** "17:55" "23:15:07"
==== Calcul de Date ====
echo $(date +%Y-%m-%d)
echo $(date +%Y-%m-%d -d '-2 days')
Le resultat donne :
2017-01-11
2017-01-09
L'argument **-d** permet de décrire une action avec une chaine de caractère.