Bash script does not work as a cron job

Greetings,

I have a script that runs and converts some images using ImageMagic's convert utility. If you run it in the directory it does what it's supposed to, but when you execute the script as a cron job, it can't find the directories.

I am sure it has something to do with the very first line, but even if I hard code the directory on that line prior to the *.jpg, it comes back and says it can't find the file in the directory.

So again, when I load the sript below in the directory, it runs fine, when I run it with cron, I get this error message:

ls: cannot access *.jpg: No such file or directory

for img in `ls *.jpg`
do
convert -size 140x100 -resize 140x100 +profile '*' -shave 0x04 $img /home/realtordata/images/imagedownload/testthumbs/$img
 
done

Open in new window

ctoolzAsked:
Who is Participating?
 
amit_gConnect With a Mentor Commented:
For cron you should use absolute paths for all file locations and commands.

#!/bin/bash
 
cd /full/path/to/dir
 
for img in *.jpg
do
    /full/path/to/convert -size 140x100 -resize 140x100 +profile '*' -shave 0x04 $img /home/realtordata/images/imagedownload/testthumbs/$img
 
done

Open in new window

0
 
ozoCommented:
how did you hard code the directory on that line prior to the *.jpg?
what is pwd whe you run it, and what is pwd when cron runs it?
0
 
ctoolzAuthor Commented:
Thanks for you quick and correct response! Worked like a charm!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.