Prog standalone lance par crontab sous Unix

Prog standalone lance par crontab sous Unix - Java - Programmation

Marsh Posté le 13-08-2003 à 10:02:23    

La question est unn peu con je le reconnais...
Je fournis donc le .class a la crontab pour qu'elle l'exécute toutes les 5 minutes...
Je dois pouvoir interagir avec une share memory...
 
Donc comment faire mon prog stand alone..?
 
Je suppose qu'il me faut un main dans ce programme...et que c'est ce main qui sera appelé par la crontab?

Reply

Marsh Posté le 13-08-2003 à 10:02:23   

Reply

Marsh Posté le 13-08-2003 à 10:15:58    

bin tu mets dans ton cron exactement ce que tu ferais si tu devais lancer ton soft quoi :heink:
 
Tu fais ton prog stand alone comme tu le ferais habituellement, tu compiles et tu dois avoir une ligne du genre
 
java -cp $TON_CLASSPATH org.company.soft.Main args1 args2
 
tu fous cette ligne dans un ficher sh et tu inclus ca dans la définition de ton crontab
 
Je ne comprends pas ton problème? Tu sais démarrer un prog Java en ligne de commande?
 
Note: le classpath est très important (pas faire des conneries genre prendre le classpath de l'utilisateur courant, c'est bon pour les amateurs ce genre de truc)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-08-2003 à 10:37:45    

DarkLord a écrit :


Je ne comprends pas ton problème?


+1  :??:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-08-2003 à 10:49:10    

Beh mon probleme...c'est que j'ai des erreurs qd je lance le prog...du genre Exception in thread "main" java.lang.NoClassDefFoundError:
 
J'ai du oublier quelque chose...d'ou ma question...
 
j'avais prévenu que c t une question con!

Reply

Marsh Posté le 13-08-2003 à 10:50:46    

Ben33 a écrit :


J'ai du oublier quelque chose...d'ou ma question...


d'ou la réponse de dark : fixe correctement le classpath


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-08-2003 à 10:56:41    

Merci

Reply

Marsh Posté le 13-08-2003 à 11:07:48    

note imporante concernant le cron, ne jamais utiliser "répertoire courant" tel quel. Autrement dit, si tu dois etre dans /home/toto/app pour lancer ton cron tu dois faire un  
 
cd /home/toto/app *explicite* au début de ton script bash


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-08-2003 à 11:18:31    

je te conseille de créer un batch qui aura pour but de lancer ton prog et d'enregistrer ce batch dans la crontab.  
 
et je te conseille pas de modifier le classpath système. De toute façon, c'est en générale une mauvaise habitude de l'utiliser : mieux vaut le fixer en ligne de commande.  
 
fait un batch du genre :  
 

Citation :

#!/bin/ksh  
 
JAR_DIR="/le/rep/de/tes/jars/"  
 
CP=$CP:$JAR_DIR"/xml-apis.jar"  
...  
CP=$CP:$JAR_DIR"/xerces-impl.jar"  
CP=$CP:"/le/rep/de/tes/classes/"  
 
 
/usr/local/java/bin/java -classpath $CP ton.programme.Standalone  


Message édité par benou le 13-08-2003 à 11:21:35

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-08-2003 à 11:19:57    

pq tu répètes tout ce que je dis? :sweat:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-08-2003 à 11:20:35    

DarkLord a écrit :

pq tu répètes tout ce que je dis? :sweat:


 :heink:  :??:


Message édité par benou le 13-08-2003 à 11:20:43

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-08-2003 à 11:20:35   

Reply

Marsh Posté le 13-08-2003 à 13:23:09    

Merci beaucoup a tous les deux.  
Ca évitera de faire de mauvaises choses...
 

Reply

Marsh Posté le 14-08-2003 à 02:02:00    

DarkLord a écrit :

note imporante concernant le cron, ne jamais utiliser "répertoire courant" tel quel. Autrement dit, si tu dois etre dans /home/toto/app pour lancer ton cron tu dois faire un  
 
cd /home/toto/app *explicite* au début de ton script bash


 
~/app :o
 
 
si tu sais meme pas ça tu ferais mieux d'éviter de la ramener :p
(ceci est une private joke, les gens, pas la peine de vous exciter :wahoo:)


Message édité par the real moins moins le 14-08-2003 à 02:42:33

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-08-2003 à 08:53:44    

the real moins moins a écrit :


 
~/app :o
 
 
si tu sais meme pas ça tu ferais mieux d'éviter de la ramener :p
(ceci est une private joke, les gens, pas la peine de vous exciter :wahoo:)


 
 :heink: ca dépend sous quel user on ajoute le cron hein (genre si c'est root :fuck:)
 
bon cela étant -->  [:xp1700]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 14-08-2003 à 12:04:58    

ben ça change quoi si c'est root :heink:
le home de root c'est /root et? :heink:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-08-2003 à 12:09:06    

the real moins moins a écrit :

ben ça change quoi si c'est root :heink:
le home de root c'est /root et? :heink:


 
:sleep:
 
si tu veux aller chercher un script dans /home/toto/bin/tumenerves.sh et que tu ajoutes le cron en tant que root ...
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 14-08-2003 à 12:10:59    

:lol: bah forcément  :sarcastic:  
 
 
de meme si tu es user toto et que tu veux aller le chercher dans /tmp/pouet/tralala :lol:
 
 
au fait, en tant que root, tu peux setter le cron d'un user avec crontab -u darklord ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-08-2003 à 12:13:17    

the real moins moins a écrit :

 
au fait, en tant que root, tu peux setter le cron d'un user avec crontab -u darklord ;)


 
je sais :na:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 14-08-2003 à 12:14:41    

[:roi]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-08-2003 à 12:19:14    


 
 :sol:


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed