Aide script shell
nouabi
Messages postés
147
Statut
Membre
-
nouabi Messages postés 147 Statut Membre -
nouabi Messages postés 147 Statut Membre -
Bonjour tout le monde,
Je suis en train de mettre en place un serveur SMS sous Gentoo v2007.0 .
Le serveur marche ss probleme ainsi que le modem GSM !
J'ai aujourd'hui besoin de créer un script shell (je pense) qui permet :
- de créer un fichier text
- d'y insérer 'To: "num de tel présente dans une bdd" '
- d'y insérer 'un text extrait d'un fichier log'
- de coller ce fichier dans un dossier spécificque (/usr/local/src/sms/outgoing)
Est ce que qq1 à déjà fait quelque chose d'équivalent ou est ce que vous connaisser des sites intéressants qui pourrai me permettre de mener a bien ce projet SVP ?
Je suis débutant en linux et a forciori en shell ...
Aidez moi please !!
Merci d'avance
Je suis en train de mettre en place un serveur SMS sous Gentoo v2007.0 .
Le serveur marche ss probleme ainsi que le modem GSM !
J'ai aujourd'hui besoin de créer un script shell (je pense) qui permet :
- de créer un fichier text
- d'y insérer 'To: "num de tel présente dans une bdd" '
- d'y insérer 'un text extrait d'un fichier log'
- de coller ce fichier dans un dossier spécificque (/usr/local/src/sms/outgoing)
Est ce que qq1 à déjà fait quelque chose d'équivalent ou est ce que vous connaisser des sites intéressants qui pourrai me permettre de mener a bien ce projet SVP ?
Je suis débutant en linux et a forciori en shell ...
Aidez moi please !!
Merci d'avance
A voir également:
- Aide script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
10 réponses
Salut,
- de créer un fichier text
;-))
- de créer un fichier text
if [ ! -e "$fichier" ]; then touch "$fichier"; fi- d'y insérer 'To: "num de tel présente dans une bdd" '
num_tel=$(grep "xxx" $bdd | awk ....) echo "To : $num_tel" >> $fichier- d'y insérer 'un text extrait d'un fichier log'
echo "$(commande qui extrait un text d'un fichier log) >> $fichier- de coller ce fichier dans un dossier spécificque (/usr/local/src/sms/outgoing)
cp $fichier /usr/local/src/sms/outgoing/Mais bon si tu nous donnes davantage de détails, notamment des exemples précis (copier/coller) de ta bdd et de ton fichier de log, on poura adapter ça à ton cas...
;-))
Salut Jipicy,
En fait ajourd'hui rien n'est fait :
Pas de base de donnée de tel par exemple. J'ai uniquement un modem gsm installer sur une gentoo qui marche bien manuelement avec la commande 'sendsms 336xxxxxxxx 'message' '
En fait je voudrai remonter les log de différents serveurs ( les trier et les analyser) puis envoyer des sms sur des portable d'astrinte ou d'autre portable selon les erreurs. Si les erreurs sont de certains ordres, je voudrai envoyer un sms sur tel ou tel portable.
L'outil d'envoie de sms que j'utilise aujourd'hui est smstools. Il envoi tout les messages présente dans son dossier 'outgoing' toute les 5mins.
les sms dans le dossier se représente dans un fichier text sous la forme :
To : 336XXXXXXXX
'message ne dépassant pas 160 char.'
voila en gros comment ca se passe
Aujourd'hui, je voudrai automatiser tous ca pour des problèmes d'espace disque insufisant par exemple...
Veux tu plus de détails et si oui dans quel partie ?
Merci beauocup pour ton aide
Nouabi
En fait ajourd'hui rien n'est fait :
Pas de base de donnée de tel par exemple. J'ai uniquement un modem gsm installer sur une gentoo qui marche bien manuelement avec la commande 'sendsms 336xxxxxxxx 'message' '
En fait je voudrai remonter les log de différents serveurs ( les trier et les analyser) puis envoyer des sms sur des portable d'astrinte ou d'autre portable selon les erreurs. Si les erreurs sont de certains ordres, je voudrai envoyer un sms sur tel ou tel portable.
L'outil d'envoie de sms que j'utilise aujourd'hui est smstools. Il envoi tout les messages présente dans son dossier 'outgoing' toute les 5mins.
les sms dans le dossier se représente dans un fichier text sous la forme :
To : 336XXXXXXXX
'message ne dépassant pas 160 char.'
voila en gros comment ca se passe
Aujourd'hui, je voudrai automatiser tous ca pour des problèmes d'espace disque insufisant par exemple...
Veux tu plus de détails et si oui dans quel partie ?
Merci beauocup pour ton aide
Nouabi
voila en gros comment ca se passe
Ben pour faire (ou du moins essayer) ce que tu veux c'est pas du "en gros" qu'il faut, c'est du concret et du précis et à défaut, au moins des exemple plus ou moins (mais plutôt plus) réalistes de données...
;-))
Ben pour faire (ou du moins essayer) ce que tu veux c'est pas du "en gros" qu'il faut, c'est du concret et du précis et à défaut, au moins des exemple plus ou moins (mais plutôt plus) réalistes de données...
;-))
Je pense qu'il faut faire une fonction a part pour extraire 160 char. du text du fichier log après le trie de ces derniers.
Pour les numéro de tel, pour l'instant on va rester avec un seul numéro fixe (ca va simplifier un peu la chose).
le numéro de tel va rester fix disons 33666666666
Qu'en penses tu ?
Merci d'avnce
Pour les numéro de tel, pour l'instant on va rester avec un seul numéro fixe (ca va simplifier un peu la chose).
le numéro de tel va rester fix disons 33666666666
Qu'en penses tu ?
Merci d'avnce
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je pense qu'il faut faire une fonction a part pour extraire 160 char. du text du fichier log après le trie de ces derniers.
Affiche un exemple de fichier log et un exemple de ce qu'il faut extraire...
Affiche un exemple de fichier log et un exemple de ce qu'il faut extraire...
je ne peu pas avoir de log pour l'instant car je n'ai pas le pass du serveur log. J'atend le responsable.
Sinon autre petite question :
Je voudrai fair un test sur le nom de mon fichier :
a=1
if [ -f $a ]
then $a+1=1
fi
mais ca ne marche pas je ne sais pas pourkoi !! il ne comprend pas la ligne : then ...
De plus, si le test est vrai je voudrai qu'il rajoute 1 à la variable (qui deviendra le nom de fichier) et j'aimerai qu'il revienne entre le a=1 le if pour recommencer le test jusqu'a ce qu'il n'existe pas de fichier portant le meme nom !!
Peux tu m'aider ?
Sinon autre petite question :
Je voudrai fair un test sur le nom de mon fichier :
a=1
if [ -f $a ]
then $a+1=1
fi
mais ca ne marche pas je ne sais pas pourkoi !! il ne comprend pas la ligne : then ...
De plus, si le test est vrai je voudrai qu'il rajoute 1 à la variable (qui deviendra le nom de fichier) et j'aimerai qu'il revienne entre le a=1 le if pour recommencer le test jusqu'a ce qu'il n'existe pas de fichier portant le meme nom !!
Peux tu m'aider ?
Pour faire une boucle, il y a plusieurs façons, en voici une :
Tiens un bon truc pour commencer : http://abs.traduc.org/abs-4.1-fr/ et plus particulièrement ce passage.
a=1;while [ "$a" -lt 10 ];do echo "$a";a=$(expr $a + 1 );donePar contre pour ce que tu veux faire, c'est pas aussi simple que ce que tu as entrepris.
Tiens un bon truc pour commencer : http://abs.traduc.org/abs-4.1-fr/ et plus particulièrement ce passage.
Pour l'instant voila un script de base qui marche :
Maintenant il va faloir le compléter et le modifier pour qu'il va cela automatiquement et en boucle avec plusieur num de tel mais pour l'instant je n'ai pas les log !!! Donc je ne peu pas trop avancé !!!
Les log windows n'ont pas toujour la même structure par hasard ! la ca m'étonne qd meme on peu pas trouver un exemple de log windws sur internet pour commencer a l'étudier
Tu ne trouve pas
PS : si tu as des commentaire ou des amélioration pour le script, n'hésite aps je fai cela aussi et surtout pour aprendre le sh
Merci d'avance
Nouabi
#!/bin/sh # initialisation des variables a=1 message=0 # vérification d'un fichier portant déja ce nom # si oui, changement de nom (a+1=a) # si non, création du fichier while [ -f "$a" ] do a=$[$a+1] done touch "$a" # Le nom du fichier est un nombre simple #touch "SMS_$(date)" # Le nom du fichier correspond a SMS_'Date' # enregistrement du numéro de téléphone dans le fichier text echo "To : 336xxxxxxxx" >> $a # enregistrement du message dans le fichier text echo "Quel est votre message à envoyer ?" read message echo " '$message'" >> $a # copie du message dans le dossier /var/spool/sms/outgoing cp $a /var/spool/sms/outgoing/ # suppresion du fichier text dans le dossier courant après avoir été # copié dans le dossier outgoing de SMSTools #rm -rf $a
Maintenant il va faloir le compléter et le modifier pour qu'il va cela automatiquement et en boucle avec plusieur num de tel mais pour l'instant je n'ai pas les log !!! Donc je ne peu pas trop avancé !!!
Les log windows n'ont pas toujour la même structure par hasard ! la ca m'étonne qd meme on peu pas trouver un exemple de log windws sur internet pour commencer a l'étudier
Tu ne trouve pas
PS : si tu as des commentaire ou des amélioration pour le script, n'hésite aps je fai cela aussi et surtout pour aprendre le sh
Merci d'avance
Nouabi