Sponsored Content
Top Forums Shell Programming and Scripting Problems in running a Perl script via cronjob Post 302258056 by ypant on Thursday 13th of November 2008 07:20:45 PM
Old 11-13-2008
Problems in running a Perl script via cronjob

I have a very basic perl script that attempts to find if a process is running. If the process is not running then the script is supposed to start the process. If I execute the script from command line it works fine as expected. However if the script is executed via cronjob, the script cannot find if the process is running or not. Here is the script:
-----------------------------------------------------------------------
#!/apps/public/perl_5.8.8/bin/perl

#----------------main starts here-----------------------
main();
#----------------main ends here-----------------------

sub main {
my $fRunning = 0;

# my @prList = `/usr/bin/ps -ef | grep genStatRmtSrv.pl`;
# foreach (@prList) {

open (prFile, "/usr/bin/ps -aef | grep genStatRmtSrv | " );
while (<prFile>)
{
chomp;
print "$_\n";

if (/perl/ && /genStatRmtSrv.pl/) {
$fRunning = 1;
print "Process is running: $_\n";
break;
}
}
close (prFile);

if ($fRunning == 0) {
print "genStatRmtSrv.pl process is not running\n";
chdir '/mot/proj/www/www.iden/htdocs/wlan/trial/bin' or die "Can't chdir to /: $!";
system ("./genStatRmtSrv.pl");
}
--------------------------------------------------------------------
Here is the email I receive when the cronjob executes:

a45678 11566 11565 0 16:26:08 ? 0:00 sh -c /usr/bin/ps -ef | grep genStatRmtSrv
a45678 11567 11566 0 16:26:08 ? 0:00 grep genStatRmtSrv
genStatRmtSrv.pl process is not running

----------------------------------------------------------------------
Here is the cronjob entry (for testing purpose, it is being run every min.)

* * * * * (cd /home/a45678/bin; /home/a45678/bin/svrCron.pl)
------------------------------------------------------------------------
Here is the output when I run from a unix terminal:

[isdlogin2:~/bin]% ./svrCron.pl
a45678 25400 25399 0 18:13:51 pts/488 0:00 sh -c /usr/bin/ps -aef | grep genStatRmtSrv
a45678 10976 1 0 14:30:59 ? 0:00 /apps/public/bin/perl ./genStatRmtSrv.pl
Process is running: a45678 10976 1 0 14:30:59 ? 0:00 /apps/public/bin/perl ./genStatRmtSrv.pl

----------------------------------------------------------------------
perl version:

/apps/public/bin/perl -v

This is perl, v5.8.4 built for sun4-solaris

Copyright 1987-2004, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at Perl.com Home Page, the Perl Home Page.

-----------------------------------------------------------------------
Solaris machine:
[isdlogin2:~/bin]% uname -a
SunOS isdlogin2 5.8 Generic_117000-05 sun4u sparc SUNW,Sun-Fire-480R
------------------------------------------------------------------------
The process is running fine:

[isdlogin2:~/bin]% ps -ef | grep genStatRmtSrv
a45678 25630 16082 0 18:18:56 pts/488 0:00 grep -iy genStatRmtSrv
a45678 10976 1 0 14:30:59 ? 0:00 /apps/public/bin/perl ./genStatRmtSrv.pl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Variables are not getting exported while running the script in cronjob

Hi All Some how, variables are not getting exported while running the script in cronjob. Variable value is coming blank. But the variables are geting the value when the same script I am running manually. Any idea why? When running the script in cron-job ==================================... (7 Replies)
Discussion started by: csaha
7 Replies

2. Shell Programming and Scripting

Shell script not running thru Cronjob

Hi I have a shell script, it run ok if executed from the path it is located at but doesnot run when the same is tried through cron-job. can someone help me please. regards gaurav shrinivas Email address removed (8 Replies)
Discussion started by: gauravshrinivas
8 Replies

3. UNIX for Dummies Questions & Answers

cronjob to run perl script

Hi all Recently i had finished a perl script. When i run manually, the script work fine. But when i wanted to put the script in cron, it didn't get the same output as it run manually. I felt that it only execute the script until certain line then it stop as i see most of the related files didn't... (6 Replies)
Discussion started by: AirWalker83
6 Replies

4. Shell Programming and Scripting

Running script that sends an html formatted email fails when its run as cronjob

Hi Im very new at working with unix and this problem I simply can not understand. I know there are a lot of threads about problems with shell scripts behaving differently when run from a terminal and from a cronjob. I have tried everything(almost) but I still havent cracked this problem. Im... (15 Replies)
Discussion started by: Nightowl
15 Replies

5. UNIX for Dummies Questions & Answers

Cronjob for running a php script intermittently?

Hey all Found this forum googling for solutions. Great community this! Im looking for help trying to run a php script every 20 minutes. The script basically has to loop continuously forever but inexplicably hangs every 30 minutes or so. I have not been able to debug the script and find... (2 Replies)
Discussion started by: aras
2 Replies

6. Shell Programming and Scripting

A running Script giving error while scheduled in cronjob

Hi, I have script which is properly running but when i schedule it in cron it throws an error like : Your "cron" job on retrprdapp1 /usr/bin/sh /retr/cron/ftp.sh 2>&1 produced the following output: /retr/cron/ftp.sh: syntax error at line 17: `(' unexpected line17 is # Get list of... (10 Replies)
Discussion started by: rajagasti
10 Replies

7. UNIX for Dummies Questions & Answers

how to cancel a cronjob if the cronjob still running

hi everyone I'm newbie in this forum hope I can get some help here :) I have a command in crontab that executed every 1 minute sometime this command need more than 1 minute to finish the problem is, the crontab execute this command although it's not finish processing yet and causing the system... (7 Replies)
Discussion started by: 2j4h
7 Replies

8. UNIX for Dummies Questions & Answers

Script not running through Cronjob

Hi, I have a .ksh script which updates the database. The script is running fine manually but it is not running through cron.All the file permissions are fine. The script contents are as below: #!/usr/bin/ksh ddate=`date +%Y%m%d` echo $ddate nohup sqlplus crm/crm @db_state_sync.sql >>... (3 Replies)
Discussion started by: shivangi
3 Replies

9. AIX

SH Script Execution Problems with Cronjob

Hi, I have created a sh script to startup and shutdown the oracle database, when I execute the script thru command line it execute successfully, but when I call the script thru cronjob it does not execute. The scripts are as follows: LOG=/oracle/times.log export ORACLE_SID=prod echo... (6 Replies)
Discussion started by: lodhi1978
6 Replies

10. Shell Programming and Scripting

Expect script cronjob running but dying prematurely

I have an Ubuntu machine that I'd like to update automatically. I've written an expect script to run the aptitude package manager and update my packages. Essentially it does: aptitude update && aptitude upgrade while answering "yes" at the appropriate time. It works quite nicely when run... (4 Replies)
Discussion started by: CluelessPerson
4 Replies
games_srv_selinux(8)					     SELinux Policy games_srv					      games_srv_selinux(8)

NAME
games_srv_selinux - Security Enhanced Linux Policy for the games_srv processes DESCRIPTION
Security-Enhanced Linux secures the games_srv processes via flexible mandatory access control. The games_srv processes execute with the games_srv_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier. For example: ps -eZ | grep games_srv_t ENTRYPOINTS
The games_srv_t SELinux type can be entered via the games_exec_t file type. The default entrypoint paths for the games_srv_t domain are the following: /usr/games/.*, /usr/lib/games(/.*)?, /usr/bin/civclient.*, /usr/bin/civserver.*, /usr/bin/sol, /usr/bin/kolf, /usr/bin/kpat, /usr/bin/micq, /usr/bin/gnect, /usr/bin/gtali, /usr/bin/iagno, /usr/bin/ksame, /usr/bin/ktron, /usr/bin/kwin4, /usr/bin/lskat, /usr/bin/gataxx, /usr/bin/glines, /usr/bin/klines, /usr/bin/kmines, /usr/bin/kpoker, /usr/bin/ksnake, /usr/bin/gnomine, /usr/bin/gnotski, /usr/bin/katomic, /usr/bin/kbounce, /usr/bin/kshisen, /usr/bin/ksirtet, /usr/bin/atlantik, /usr/bin/gnibbles, /usr/bin/gnobots2, /usr/bin/kenolaba, /usr/bin/klickety, /usr/bin/konquest, /usr/bin/kreversi, /usr/bin/ksokoban, /usr/bin/mahjongg, /usr/bin/blackjack, /usr/bin/gnotravex, /usr/bin/kblackbox, /usr/bin/kfouleggs, /usr/bin/kmahjongg, /usr/bin/kwin4proc, /usr/bin/lskatproc, /usr/bin/Maelstrom, /usr/bin/kas- teroids, /usr/bin/ksmiletris, /usr/bin/kspaceduel, /usr/bin/ktuberling, /usr/bin/same-gnome, /usr/bin/kbackgammon, /usr/bin/kbattleship, /usr/bin/kgoldrunner, /usr/bin/gnome-stones, /usr/bin/kjumpingcube PROCESS TYPES
SELinux defines process types (domains) for each process running on the system You can see the context of a process using the -Z option to ps Policy governs the access confined processes have to files. SELinux games_srv policy is very flexible allowing users to setup their games_srv processes in as secure a method as possible. The following process types are defined for games_srv: games_srv_t Note: semanage permissive -a games_srv_t can be used to make the process type games_srv_t permissive. SELinux does not deny access to per- missive process types, but the AVC (SELinux denials) messages are still generated. BOOLEANS
SELinux policy is customizable based on least access required. games_srv policy is extremely flexible and has several booleans that allow you to manipulate the policy and run games_srv with the tightest access possible. If you want to allow all daemons the ability to read/write terminals, you must turn on the daemons_use_tty boolean. Disabled by default. setsebool -P daemons_use_tty 1 If you want to deny any process from ptracing or debugging any other processes, you must turn on the deny_ptrace boolean. Enabled by default. setsebool -P deny_ptrace 1 If you want to allow all domains to use other domains file descriptors, you must turn on the domain_fd_use boolean. Enabled by default. setsebool -P domain_fd_use 1 If you want to allow all domains to have the kernel load modules, you must turn on the domain_kernel_load_modules boolean. Disabled by default. setsebool -P domain_kernel_load_modules 1 If you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. Enabled by default. setsebool -P fips_mode 1 If you want to enable reading of urandom for all domains, you must turn on the global_ssp boolean. Disabled by default. setsebool -P global_ssp 1 MANAGED FILES
The SELinux process type games_srv_t can manage files labeled with the following file types. The paths listed are the default paths for these file types. Note the processes UID still need to have DAC permissions. games_data_t /var/games(/.*)? /var/lib/games(/.*)? games_srv_var_run_t COMMANDS
semanage fcontext can also be used to manipulate default file context mappings. semanage permissive can also be used to manipulate whether or not a process type is permissive. semanage module can also be used to enable/disable/install/remove policy modules. semanage boolean can also be used to manipulate the booleans system-config-selinux is a GUI tool available to customize SELinux policy settings. AUTHOR
This manual page was auto-generated using sepolicy manpage . SEE ALSO
selinux(8), games_srv(8), semanage(8), restorecon(8), chcon(1), sepolicy(8) , setsebool(8) games_srv 14-06-10 games_srv_selinux(8)
All times are GMT -4. The time now is 02:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy