Avatar billede draeber Nybegynder
10. maj 2004 - 14:07 Der er 10 kommentarer og
2 løsninger

crontab medtager ikke classpath til java

Hej alle

Jeg sidder og roder med at få et java-program til at køre en gang i minuttet.
Det mit script ser således ud(crontab):
#!/bin/bash
set $PATH=$PATH:.:/home/user/javaprog/
set $CLASSPATH=$CLASSPATH:.:/home/user/javaprog/pg73jdbc3.jar
cd /home/user/javaprog
/usr/java/j2sdk1.4.2_04/bin/java Indlaes -classpath /home/user/javaprog/pg73jdbc3.jar >> /home/user/javaprog/log.txt

Men det virker ikke.
Det sender flg. mail til root:
org.postgresql.Driver

Hvis jeg kører scriptet manuelt, virker det fint, det er kun under automatisk kørsel det ikke virker!

Hvad skal jeg gøre, for at løse problemet ???
Avatar billede logos Nybegynder
10. maj 2004 - 14:21 #1
Jeg ville i toppen af mit script explicti sætte mit environment.

f.eks, hvis dit env. er sat i bash (som dit script antyder), så....
skal du ikke bruge export istedet for set i bash?

#!/bin/bash
. /home/den_bruger_du_er/.bash_profile
export $PATH=$PATH:.:/home/user/javaprog/
export $CLASSPATH=$CLASSPATH:.:/home/user/javaprog/pg73jdbc3.jar
cd /home/user/javaprog
..............

Så bliver pathen sat i det script du kører og den sakl du der åbner.

Jeg er ikke helt sikker, men jeg mener at det er anden bruger end dig selv der udfører cronjobs, derfor den manglende $PATH
Avatar billede logos Nybegynder
10. maj 2004 - 14:22 #2
det blev vist lidt rodet, men jeg håber det går
Avatar billede draeber Nybegynder
10. maj 2004 - 14:26 #3
Jeg kan ikke bruge export - den skriver "not a valid identifier".
. /home/den_bruger_du_er/.bash_profile - virker heller ikke (HAR rettet til mit brugernavn)
Avatar billede arne_v Ekspert
10. maj 2004 - 14:37 #4
Har du prøvet at bytte om på rækkefølgen:

/usr/java/j2sdk1.4.2_04/bin/java -classpath /home/user/javaprog/pg73jdbc3.jar  Indlaes
Avatar billede draeber Nybegynder
10. maj 2004 - 14:42 #5
ja, så kommer den med flg. fejl: Exception in thread "main" java.lang.NoClassDefFoundError: Indlaes
Avatar billede logos Nybegynder
10. maj 2004 - 14:45 #6
Jeg tror da også det var en gang vrøvl jeg skrev........

#!/bin/bash
. /home/den_bruger_du_er/.bash_profile
PATH=$PATH:.:/home/user/javaprog/
CLASSPATH=$CLASSPATH:.:/home/user/javaprog/pg73jdbc3.jar
export PATH CLASSPATH
cd /home/user/javaprog
gør det syntaxkorrekt
Avatar billede draeber Nybegynder
10. maj 2004 - 14:52 #7
super.... jeg havde ellers prøvet det tidligere, men nu virker det... har givetvis også lavet nogle andre ting om :-)

læg et svar igen, så får du point
Avatar billede strych9 Praktikant
10. maj 2004 - 18:03 #8
Der var vist lidt kludder i variabel erklæringerne der =)

Jeg vil egentlig bare tilføje at hvis du indsætter . i path så kan det være et sikkerhedsproblem.
Avatar billede arne_v Ekspert
10. maj 2004 - 21:40 #9
#!/bin/bash
cd /home/user/javaprog
/usr/java/j2sdk1.4.2_04/bin/java -classpath .:/home/user/javaprog/pg73jdbc3.jar Indlaes  >> /home/user/javaprog/log.txt

burde være nok - ingen grund til at lege med PATH og CLASSPATH
Avatar billede draeber Nybegynder
21. oktober 2004 - 11:17 #10
logos og arne_v : læg et svar, så jeg kan få givet point.
Avatar billede arne_v Ekspert
21. oktober 2004 - 11:22 #11
komme rher
Avatar billede logos Nybegynder
27. oktober 2004 - 13:00 #12
her er det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester