2

For some reason my cronjob is not working:

4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt 

And my bash script looks like this:

#! /bin/bash mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $1.sql java -jar myJar.jar param1 $1.sql 

So the jar file takes in 2 parameters, the first one i want always to be the same, the second one comes from the first bash parameter. Inside /var/spool/mail/ubuntu I see this error:

Unable to access jarfile myJar.jar

I set the crontab up under user: ubuntu

owner and group of the jar file is ubuntu and it has octal permissions of 700.

What am I doing wrong?

2 Answers 2

5

Try with full paths:

#! /bin/bash mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > /path/$1.sql java -jar /path/myJar.jar param1 /path/$1.sql 
1
  • Thank you for the response, I will try this, do you think I could try full path for the jar file too? Commented Apr 25, 2011 at 20:21
3

You should use absolute paths! I think neither the jar-file nor the sql-file can be found...

#! /bin/bash SQLFILE=/path/to/file/$1.sql mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $SQLFILE java -jar /path/to/myJar.jar param1 $SQLFILE 
1
  • Yep it works, I'm afraid I'll have to accept hmontoliu's answer since it was a bit quicker +1 tho cheers! Commented Apr 25, 2011 at 20:26

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.