On 2/15/12 Wed Feb 15, 2012 10:13 AM, "Punit Jain" <contactpunitj...@gmail.com> scribbled:
> Hi, > > I am running my perl script and using some perl modules like below :- > > use File::Path qw(mkpath); > use File::Rsync; > my $rsync = '/opt/zimbra/rsync/bin/rsync'; > > > when I run the script using > perl scriptname --> then it runs fine, however when I run through crontab, it > get this error : - > > Can't locate File/Rsync.pm in @INC (@INC contains:/etc/perl > /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 > /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 > /usr/local/lib/site_perl .) at /opt/zimbra/lbin/backup.pl line 8. > > Any clues ? One problem with executing programs using cron is that cron does not execute your login scripts that setup and customize your interactive session, such as .profile, .login, .bashrc, or .cshrc, depending upon your shell. Do you use any environment variables such as PERL5LIB? Those will not be set. Where is the module File::Rsync located? Type 'perldoc -l File::Rsync' to find out. One workaround is to have cron execute a shell script that sources your login scripts and then executes your Perl program, something like: #!/bin/tcsh # source ~user/.login source ~user/.cshrc perl scriptname (I use tcsh, so the above may not be correct for your shell) -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/