Script not running through cron on solaris 5.8


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Script not running through cron on solaris 5.8
# 1  
Old 06-18-2012
Script not running through cron on solaris 5.8

Hi All,
I am running a script thorugh cron which is given below.
this script is not doing its defined job through cron ,files are still in unzipped state.

But when i run this script as
Code:
./script.sh

it gets executed fine and does all that is required.

also when i run thi script as
Code:
sh script.sh

it gives error

Code:
syntax error at line 24: `(' unexpected

Code:
 
 
YYYYMMDD="`date +%Y%m%d`"       # Reversed date yyyymmdd
REFERENCE=/tmp/reference.${YYYYMMDD}.$$
touch -t ${YYYYMMDD}0000 ${REFERENCE}   # First thing today
echo "\n"
echo "MDCR GZIP LOGS FOR" `date`
func_logs_gzip ()
{
find . -type f \( \( -name 'WLS*' -o -name 'access*' -o -name 'MDCR*' \) -a \( ! -name '*.gz' -a ! -newer ${REFERENCE} \) \) -print | while read FILENAME
do
               gzip "${FILENAME}"
               echo ${FILENAME} gzipped
done

}
func_grease_logs_gzip ()
{
v1=`ls -1rt grease*.gz 2>/dev/null | cut -d "." -f 3 | tail -1`
v2=1
ls -1tr $(find . -type f \( -name 'grease*' -a ! -name '*.gz' -a ! -newer ${REFERENCE} \) -print) 2>/dev/null | while read FILENAME
do
                v1=`expr $v1 + $v2`
                v3=`echo  ${FILENAME} | cut -d "." -f 1,2,3`
               mv ${FILENAME} $v3.$v1
              gzip $v3.$v1
               echo ${FILENAME} gzipped
done
}

#APPLICATIONS LOGS GZIPPING
#wls21
cd /CP2_logs/wls21/SAS/MDCR/Applicationlogs/WLS13
echo "/CP2_logs/wls21/SAS/MDCR/Applicationlogs/WLS13"
func_logs_gzip
#wls22
cd /CP2_logs/wls22/SAS/MDCR/Applicationlogs/WLS13
echo "/CP2_logs/wls22/SAS/MDCR/Applicationlogs/WLS13"
func_logs_gzip
#wls23
cd /CP2_logs/wls23/SAS/MDCR/Applicationlogs/WLS13
echo "/CP2_logs/wls23/SAS/MDCR/Applicationlogs/WLS13"
func_logs_gzip
#wls24
cd /CP2_logs/wls24/SAS/MDCR/Applicationlogs/WLS13
echo "/CP2_logs/wls24/SAS/MDCR/Applicationlogs/WLS13"
func_logs_gzip
#SERVER LOGS GZIPPING FOR WLS13

#wls21
cd /CP2_logs/wls21/SAS/MDCR/Serverlogs/WLS13
echo "/CP2_logs/wls21/SAS/MDCR/Serverlogs/WLS13"
func_logs_gzip

#wls22
cd /CP2_logs/wls22/SAS/MDCR/Serverlogs/WLS13
echo "/CP2_logs/wls22/SAS/MDCR/Serverlogs/WLS13"
func_logs_gzip

#wls23
cd /CP2_logs/wls23/SAS/MDCR/Serverlogs/WLS13
echo "/CP2_logs/wls23/SAS/MDCR/Serverlogs/WLS13"
func_logs_gzip

#wls24
cd /CP2_logs/wls24/SAS/MDCR/Serverlogs/WLS13
echo "/CP2_logs/wls24/SAS/MDCR/Serverlogs/WLS13"
func_logs_gzip

#SERVER LOGS GZIPPING FOR WLS14

#wls21
cd /CP2_logs/wls21/SAS/MDCR/Serverlogs/WLS14
echo "/CP2_logs/wls21/SAS/MDCR/Serverlogs/WLS14"
func_logs_gzip

#wls22
cd /CP2_logs/wls22/SAS/MDCR/Serverlogs/WLS14
echo "/CP2_logs/wls22/SAS/MDCR/Serverlogs/WLS14"
func_logs_gzip

#wls23
cd /CP2_logs/wls23/SAS/MDCR/Serverlogs/WLS14
echo "/CP2_logs/wls23/SAS/MDCR/Serverlogs/WLS14"
func_logs_gzip

#wls24
cd /CP2_logs/wls24/SAS/MDCR/Serverlogs/WLS14
echo "/CP2_logs/wls24/SAS/MDCR/Serverlogs/WLS14"
func_logs_gzip
#GREASE LOGS
cd /apps/docroot3/SAS/MDCRGREASEBATCHES/sasBatches/logs
echo "/apps/docroot3/SAS/MDCRGREASEBATCHES/sasBatches/logs"
n=`find . -type f \( -name 'grease*' -a ! -name '*.gz' -a ! -newer ${REFERENCE} \) -print | wc -l`
if [ n -ne 0 ]
then
func_grease_logs_gzip
fi
 
rm -f "${REFERENCE}"

# 2  
Old 06-18-2012
You are running your script in a different shell, one which doesn't understand functions and the like. Put a line like
Code:
#!/usr/bin/ksh

at the very beginning of the script to guarantee you get the shell you wanted.
# 3  
Old 06-18-2012
First off, change the shebang (line 1 of your script.sh ) to be
Code:
#!/bin/ksh
or
#/bin/bash

Next, you need to know that the envrionment variable you have on the command line are probably not there for the cron job.

So try something like this (ignore the numbers and stars, just pretend values)
Code:
1 2 3 * * ./home/me/.profile  && /path/to/script.sh

You may need to add other scripts so the environment is correct.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script not running in cron

Hi All, I have a script which is running fine while triggered manually, However if I placed in crontab it throwing an error. #!/usr/bin/ksh set -vx lc=1 st_date=$(`date "+%Y%m%d"`) LOGFILE=/home/transfer.log.$st_date file="/home/OM_WF.log.$st_date" Manual run - lc=1 + lc=1... (4 Replies)
Discussion started by: nag_sathi
4 Replies

2. Shell Programming and Scripting

Running same script through cron gives different output

Hi All, I am running the below shell script through cron and surprisingly it gives different output $uname -a Linux 2.6.18-194.3.1.7.3.el5xen #1 SMP Fri Jul 30 00:08:45 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux $ echo $SHELL /bin/bash shell script: cat sar_cpu.sh #!/bin/bash ... (10 Replies)
Discussion started by: a1_win
10 Replies

3. Shell Programming and Scripting

Running shell script via cron

Hi Guys, I do have a shell script that I scheduled to run via the cron but when the script don't run. But when I run the script manually it does run perfectly... What might be the problem? Thanks. (1 Reply)
Discussion started by: Phuti
1 Replies

4. Shell Programming and Scripting

Script running using cron

Hello All, I am running the below script.when i am running from shell or terminal its running fine but running using cron its not working. ################################ b36376 27 % cat make_nis_account_ankit.sh #!/bin/ksh ... (2 Replies)
Discussion started by: ajaincv
2 Replies

5. Solaris

Script not running from cron

Hi, I''ve made a script that's running fine from the command line but when running from cron it encounters the following issue: /tmp/tstscript/testfail.ksh: typeset: not found I've searched in Google and couldn't find anything, here's the beggining of the script (I can post the rest if... (4 Replies)
Discussion started by: Cvg
4 Replies

6. Shell Programming and Scripting

Problems running script in cron...

Hi all, I have a script running on a Solaris 8 box and the first thing it does it check which user is executing it; if ; then echo "This script must be run as testuser" 1>&2 exit 1 fi This works fine when manually running the script however when adding into that users' crontab it... (1 Reply)
Discussion started by: JayC89
1 Replies

7. Shell Programming and Scripting

ftp script is not running from CRON

Hi I have an FTP script, which ftp's the files from one unix box to another box. It works from the command when I Issue > ksh ftp.ksh when I schedule it in CRON, it is not being executed automatically. Any thoughts please Thanks Ravi. (4 Replies)
Discussion started by: ravi.balley
4 Replies

8. Shell Programming and Scripting

Running a script with cron

I have the following script (trapsize) that checks a file size on my syslog server, and if the file is gt 6g, it will mail an alert to the admin for inspection. The following works like a champ when I execute ./trapsize logged in as root user using bash shell. FILESIZE=$(ls -l /opt2/fwsm/fwsm... (3 Replies)
Discussion started by: altamaha
3 Replies

9. UNIX for Dummies Questions & Answers

Running a script in cron question

There is this script I'd like to put into cron, but it asks for date verification. It'll prompt you to press enter to continue. Usually, 100% of the time the dates are ok, so is there a way to run this script in cron and bypass the "enter" prompt? (3 Replies)
Discussion started by: NycUnxer
3 Replies

10. Shell Programming and Scripting

Running script using cron

I am running a script by scheduling it using the cron. The line in the cron file is - 10 * * * * ksh -v /apps/gofis/svam/cos_automation/cos_automation.sh vpqa > /apps/gofis/svam/cos_automation/cron.log 2>&1 But after the job is executed, the cron.log contains some part from... (4 Replies)
Discussion started by: ankurgupta
4 Replies
Login or Register to Ask a Question