I want to create a crawler with perl and run it on crowntab. The program should use DBI and DBD::Oracle to insert data into my database.
When crontab runs it, I get the following error in my mail box.
Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/Dynaloader.pm line 230.
my code is something like:
Expand|Select|Wrap|Line Numbers
- #!/usr/bin/perl
- use Getopt::Long;
- use POSIX;
- use POSIX qw(setsid);
- use warnings;
- use Data::Dumper;
- use WWW::Mechanize;
- use DBI;
- use DBD::Oracle;
- use XML::Twig;
- init_env();
- #do something-----
- sub init_env
- {
- $SIG{'INT'} = 'IGNORE';
- $SIG{'QUIT'} = 'IGNORE';
- $SIG{'TERM'} = 'IGNORE';
- $SIG{'PIPE'} = 'IGNORE';
- # signal(SIGPIPE, SIG_IGN);
- $SIG{'CHLD'} = 'IGNORE';
- my $pid = fork(); die "$!" unless defined $pid; exit 4 if $pid;
- POSIX::setsid() or die "Can't start a new session: $!";
- # Flush standard output buffer.
- select(STDOUT);
- $| = 1;
- }
- BEGIN
- {
- $ENV{ORACLE_HOME} = "/u01/oracle/product/10.2.0/client_1";
- $ENV{PATH} = "/bin:/usr/bin:/u01/oracle/product/10.2.0/client_1/bin:/home/appowner/bin:.";
- $ENV{LD_LIBRARY_PATH} = "/u01/oracle/product/10.2.0/client_1/lib";
- }
- END {
- }
Please help and many thanks.
Shen