http://qs321.pair.com?node_id=927362


in reply to Re: perl script in nohup running from crontab
in thread perl script in nohup running from crontab

yes I am able to run this script out side the cron. even if the modify the same script $cmd=date and run the same script it will work in corn. so i have some doubt in $cmd='nohup expect -f /root/nfs_share/SCRIPTS/ncp_run.tcl &';

Replies are listed 'Best First'.
Re^3: perl script in nohup running from crontab
by hbm (Hermit) on Sep 22, 2011 at 14:44 UTC

    Any errors in /var/cron/log or wherever you system keeps them? If you can't view that log, add 2>&1 (or whatever is appropriate on your system) to redirect STDERR to your own log file.

    Your cron entry starts with "perl". Why, when you have #!/usr/bin/perl in your script?

    I'd also add #!/path/to/expect -f to the .tcl, to simplify your $cmd.

    And excessive pipe alert in your grep...

    [root@perflnx14 SCRIPTS]# crontab -l * * * * * /root/nfs_share/SCRIPTS/cron_ncp.pl >>/root/nfs_share/SCRIPT +S/temp.txt ---------------- cron_tab.pl script: #!/usr/bin/perl use warnings; use strict; #my $cmd='nohup expect -f /root/nfs_share/SCRIPTS/ncp_run.tcl &'; my $cmd='nohup /root/nfs_share/SCRIPTS/ncp_run.tcl &'; #my $tmp= `ps -ef | grep -v grep | grep ncp_run.tcl | wc -l`; my $tmp= `ps -ef | grep -c [n]cp_run.tcl`; if($tmp == 1) { print"already running\n"; } else { print"not running\n"; system $cmd; }
      ya i tried with putting the patj /usr/bin/expect ..but no luck in logs everything looks fine to me:
      [root@perflnx14 SCRIPTS]# tail /var/log/cron Sep 21 23:15:01 perflnx14 crond[1932]: (root) CMD (perl /root/nfs_shar +e/SCRIPTS/cron_ncp.pl >>/root/nfs_share/SCRIPTS/temp.txt) Sep 21 23:16:01 perflnx14 crond[1947]: (root) CMD (perl /root/nfs_shar +e/SCRIPTS/cron_ncp.pl >>/root/nfs_share/SCRIPTS/temp.txt) Sep 21 23:17:01 perflnx14 crond[1972]: (root) CMD (perl /root/nfs_shar +e/SCRIPTS/cron_ncp.pl >>/root/nfs_share/SCRIPTS/temp.txt)