Aide optimisation script

Fermé
davielsons-enfer Messages postés 281 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 28 août 2014 - 27 juin 2013 à 15:55
davielsons-enfer Messages postés 281 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 28 août 2014 - 27 juin 2013 à 16:47
Bonjour,

J'aimerais optimiser mon script shell si possible.
Il s'agit de la date et de l'heure. Je veux que si on est en semaine (lundi-vendredi) la vitesse de jour soit bridée à 40Ko/s. Si on est le week-end, vitesse full(comme si on était de nuit en semaine) !

Et autre question, avec ce script, on devra faire un crontab pour le lancer plusieurs fois et qu'il prenne en compte le changement d'heure (ayant subi beaucoup de changements et d'idées, je suis presque perdu dans ce projet).
Si il est 8h, on le lance, et à 20h, on relance le script via cron pour qu'il y ais kill. Est-ce exact ?
---------------------------------------------
#!/bin/bash

#Choix du client
src=''/dossier/du/client/''

# Destination
dst_host="1.2.3.4"
dst_mod="module_du_client''
dst="$dst_host::$dst_mod"


#Si il y a un script Rsync.sh on le tue
for pid in $(ps aux | grep -v grep | grep $(basename $0))
do
kill -9 $pid
done

# Selon l'heure, on définit ou non l'option bandwith
hour=$(date -u +"%H")
if [ $hour -lt 20 ] && [ $hour -ge 8 ]
then
bw="--bandwith=40"
fi

#Week-end ou non

if [ date +''%u'' -ge 6]
then



#Lancement du transfert archivé, compressé et supprimant les dossiers n'existant plus chez le client
echo '' rsync -avz $bw --delete-after $src $dst''
rsync -avz $bw --delete-after $src $dst


-----------------------------------------------------


Merci d'avance,
Cordialement,

Ben


A voir également:

1 réponse

davielsons-enfer Messages postés 281 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 28 août 2014 15
Modifié par davielsons-enfer le 27/06/2013 à 17:06
Après qques menues réflexions je suis arrivé à ça, est-ce que ça pourra fonctionner ?

#Week-end ou non
# Selon l'heure, on définit ou non l'option bandwith
hour=$(date -u +"%H")

if [ date +`'%u'' -lt 6]
then
elif [ $hour -lt 20 ] && [ $hour -ge 8 ]
then
bw="--bandwith=40"
fi
0