Automatiser des scripts shell sur un serveur par une appli en JAVA

selkhouaja Messages postés 3 Date d'inscription vendredi 4 juillet 2008 Statut Membre Dernière intervention 28 mai 2009 - 27 mai 2009 à 00:04
cs_chelah Messages postés 1 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 5 octobre 2009 - 5 oct. 2009 à 23:25
Bonjour ,


Je suis débutant en programmation et j'ai besoin de votre aide. Je tiens à vous remercier en avance de vos réponses.


Dans le cadre de mon stage, je dois réaliser une application en java
qui sera chargée d'automatiser l'exécution de scripts shell sur un
serveur linux distant.


En fait, c'est plus compliqué que ça. Mon moteur java doit etre capable
d'aller chercher des fichiers CSV -s'assurer qu'ils existent déjà -
exécuter un script ( 2 des fois) ce(s) scripts vont charger des données
dans une base de donnée oracle. Ensuite il doit vérifier que le
chargement de la base s'est bien effectué et ceci en lançant des
requêtes sql.


En fait, l'utilisateur va choisir quel traitement veut lancement, en
fonction de son choix, le moteur java doit savoir quel scripts ,
quelles requêtes sql, le chemin de dossier....... Des fois, certains
traitement nécessitent la génération de fichiers csv par ftp depuis une
autre machine distante.


J'ai pensé à écrire un fichier xml pour chaque traitement qui va
contenir tous les données nécessaires pour le réaliser : scripts,
requetes, paramètres ftp, chemin cible, chemin source, ....., le moteur
parse le fichier et fait tout le boulot et retourne soit OK soit NOK.
En fait, les scripts shell vont générer des fichiers log, qu'il doit
parcourir et voir s'il y des erreurs, " warning par exemple".


Mes questions sont les suivantes:

l'appli java doit etre sur le serveur ou installer sur les ordis windows.?

quel API java me permettra d'exécuter du shell sur le serveur linux.?

comment gérer le ftp en java.?

Quel parseur utiliser.?


Je vous remercie infiniment de votre réponse.

4 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
27 mai 2009 à 09:57
Salut,

- tu dois avoir une appli java sur la machine où tu veux l'exécuter.
- la classe java.lang.Runtime permet l'exécution de programme externe
- pour le ftp, tu peux utiliser ftp4j (http://www.sauronsoftware.it/projects/ftp4j/ ) ou 'commons net' de jakarta (http://commons.apache.org/net/)
- pour un parseur xml, regarde du côté de jdom (http://www.jdom.org/) ou de digester (http://commons.apache.org/digester/)
0
selkhouaja Messages postés 3 Date d'inscription vendredi 4 juillet 2008 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 00:27
Bonjour

Je te remercie d'avoir pris le temps de lire mon message et d'y apporter ton soutien.

Oui, je suis d'accord avec toi. Le mieux que mon appli java  tourne sur le serveur et sera lancée par ligne de commande.

Je voudrais savoir ce que tu penses à propos de  l'idée d'avoir un fichier xml en entrée du mon moteur et qui définira un jeu de données sur le traitement qu'il doit être effectué.

et Merci a tout le monde
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
28 mai 2009 à 09:44
Pour les fichiers de config, soit ce sont des fichiers properties soit des fichiers xml.
Si tes données sont structurées, prends un fichier XML sinon les 2 choix sont corrects
0
cs_chelah Messages postés 1 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 5 octobre 2009
5 oct. 2009 à 23:25
Bonjour Selkhouaja
voila je suis une debutante et en stage.
mon projet est identique au tien. je me demandais si tu pouvais me passer le code, ca serai tres sympa de ta part
merci bcp
0
Rejoignez-nous