On 2007-12-16 19:10, David Goodnature <[EMAIL PROTECTED]> wrote:
> I have a perl script that I can execute from the command line as root.
> It runs fine.  When I try to automate it using the root crontab, the
> script fails.
>
> The lines from my script that are causing the problem are:
>
>    my $scomd = "/usr/local/bin/ps2pdf -dPDFSETTINGS=/prepress 
> -dProcessColorModel=/DeviceGray -dAutoRotatePages=/PageByPage 
> -dDownsampleMonoImages=true -dMonoImageDownsampleType=/Average 
> -dMonoImageDownsampleThreshold=1.5 -dMonoImageResolution=600 
> ".$inpath.$cur_ps_files[0]." ".$outpath.$pdffilename;
>
>    ### create the new .pdf file from the .ps file
>    system($scomd) == 0 or return "system $scomd failed: $?";
>
> The cron message to mail/root ends with:
>
>    exec: ps2pdf12: not found
>
> I am assuming that cron cannot find a path or a config file for
> ghostscript, but I don't have any idea how to fix this problem.

Yes.  That's what is happenning.  The default PATH of cron jobs doesn't
include `/usr/local/bin', but you have lots of options:

  1) Add it to the crontab file

        PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"

        crontab entries here

  2) Modify the default path in your Perl script:

        $ENV{PATH} = 
'/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin';

        my $scomd = join(' ', ('/usr/local/bin/ps2pdf',
             '-dPDFSETTINGS=/prepress',
             '-dProcessColorModel=/DeviceGray',
             '-dAutoRotatePages=/PageByPage',
             '-dDownsampleMonoImages=true',
             '-dMonoImageDownsampleType=/Average',
             '-dMonoImageDownsampleThreshold=1.5',
             '-dMonoImageResolution=600'
             $inpath.$cur_ps_files[0],
             $outpath.$pdffilename));

        system($scomd) == 0 or return "system $scomd failed: $?";

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to