====== 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.