Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2007, 13h48   #1
Membre éprouvé
 
Avatar de _shuriken_
 
Homme
Consultant telecoms
Inscription : mars 2006
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27

Informations professionnelles :
Activité : Consultant telecoms
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2006
Messages : 426
Points : 410
Points : 410
Par défaut Update Automatique-script Sql

Bonjour à tous,
Voila, j'ai deux scripts SQL sur un serveur (et mon script Shell y sera uploader) et del_appels_nuls.sql permet de sauvegarder dans une table appels_2007XX01nul et de supprimer les appels de montants nuls dans une table indiquée à cet effet par ex la table appels_2007XX01 ou XX répresente le mois, et del_dbl.sql permêt de sauvegarder dans une autre table appels_2007XX01dbl et de supprimer les doublons de la table principale appels_2007XX01.
Chaque mois, je dois mêttre à jour ces deux scripts manuellement avec l'utilitaire vi puisque le nom de la table principale change tous les mois.
J'aimerai pourvoir élaborer un script SHELL, qui me permettra de faire en sorte qu'à chaque début du mois que le nom des tables dans les deux scripts puissent être incrémenter.
Si quelqu'un a une idée, elle est la bienvenue.
Meric d'avance pour l'aide
__________________
"When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

Lord Kelvin - 1883.
_shuriken_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 17h17   #2
Membre éprouvé
 
Avatar de _shuriken_
 
Homme
Consultant telecoms
Inscription : mars 2006
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27

Informations professionnelles :
Activité : Consultant telecoms
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2006
Messages : 426
Points : 410
Points : 410
Voila, grâce à la precieuse aide d'un ami, j'ai pu resoudre le problème, voici le script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/ksh
#récupération de la date à partir du fichier. Le fichier doit avoir --call_ika20070701 à sa première ligne
#on extrait 200707
	DATE_ACTUELLE=$(head -n1 del_dbl_save.sql|cut -b 11-16)
 
	MOIS_ACTUEL=$(echo $DATE_ACTUELLE|cut -b 5-6)
	ANNEE_ACTUELLE=$(echo $DATE_ACTUELLE|cut -b 1-4)
 
#passage d'année, traitement spécial
 
	if [ "$MOIS_ACTUEL" -eq 12 ]; then
    		MOIS_SUIVANT="01"
    		ANNEE_SUIVANTE=$(($ANNEE_ACTUELLE+1))
	else #passage d'un mois à un autre normal
 
#petit fix pour conserver le 0 devant les mois inférieurs à 10
 
	if [ "$MOIS_ACTUEL" -le 8 ]; then
       	 MOIS_SUIVANT="0"$(($MOIS_ACTUEL+1))
    	else
       	 MOIS_SUIVANT=$(($MOIS_ACTUEL+1))
    fi
    ANNEE_SUIVANTE=$ANNEE_ACTUELLE
fi
	DATE_ACTUELLE=$ANNEE_ACTUELLE$MOIS_ACTUEL
	DATE_SUIVANTE=$ANNEE_SUIVANTE$MOIS_SUIVANT
 
	echo "La date actuelle est $DATE_ACTUELLE"
	echo "La date du mois de facturation est $DATE_SUIVANTE"
 
#modification du fichier
 
	sed "s/call_ika$DATE_ACTUELLE/call_ika$DATE_SUIVANTE/g" del_dbl_save.sql > del_dbl_save2.sql
 
#déplacement vers le fichier (déplacement => suppression automatique de del_dbl_save2.sql)
 
	mv -f del_dbl_save2.sql del_dbl_save.sql
 
if [ $? -eq 0 ]; then
 
	echo "Modification sur del_dbl_save.sql effectuée avec succès"
else
    echo "ERREUR : la modification sur del_dbl_save.sql n'a pas eu lieu. sed a retourné $?"
fi
 
#modification du fichier
 
	sed "s/call_ika$DATE_ACTUELLE/call_ika$DATE_SUIVANTE/g" del_appels_nuls_save.sql > del_appels_nuls_save2.sql
 
#déplacement vers le fichier (déplacement => suppression automatique de del_appels_nuls_save.sql)
 
	mv -f del_appels_nuls_save2.sql del_appels_nuls_save.sql
 
if [ $? -eq 0 ]; then
 
    	echo "Modification sur del_appels_nuls_save.sql effectuée avec succès"
else
 
	echo "ERREUR : la modification sur del_appels_nuls_save.sql n'a pas eu lieu. sed a retourné $?"
fi
merci à mik9241
__________________
"When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

Lord Kelvin - 1883.
_shuriken_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h16.


 
 
 
 
Partenaires

Hébergement Web