Running same script through cron gives different output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Running same script through cron gives different output
# 1  
Old 04-09-2013
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

Code:
$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


Code:
$ echo $SHELL
/bin/bash


Code:
shell script:

cat sar_cpu.sh

#!/bin/bash


hdr=1
while true; do
  sar -u 10 1 |  awk '/user/{if(hdr){print $1,$2,$4,$6,$7};next} /^[0-9]/{print $1,$2,$4,$6,$7}'  OFS=, hdr=$hdr >> /sar_cpu_`date +%m%d%y`.csv
  sleep 5
  hdr=0
done



Code:
Output when the script runs through cron:

$ cat sar_cpu_040913.csv

20:09:01,CPU,%nice,%iowait,%steal
20:09:11,all,0.00,0.05,0.00
20:09:22,all,0.00,0.03,0.00
20:09:33,all,0.00,0.05,0.03
20:09:44,all,0.00,0.03,0.00
20:09:55,all,0.00,0.03,0.00
20:10:06,all,0.00,0.03,0.00
20:10:17,all,0.00,0.03,0.03
20:10:28,all,0.00,0.03,0.00
20:10:39,all,0.00,0.03,0.00
20:10:50,all,0.00,0.03,0.00
20:11:01,all,0.00,0.25,0.02
20:11:12,all,0.00,0.00,0.00
20:11:23,all,0.00,0.02,0.00
20:11:34,all,0.00,0.03,0.03
20:11:45,all,0.00,0.02,0.00
20:11:56,all,0.00,0.05,0.00
20:12:07,all,0.00,0.05,0.00
20:12:18,all,0.00,0.05,0.03


I get the expected output when the script is run manually as below:

Code:
$ ./sar_cpu.sh &
or 
$ nohup ./sar_cpu.sh &


Expected output:

Code:
$ cat sar_cpu_040913.csv

05:35:27,PM,%user,%system,%iowait
05:35:37,PM,0.18,0.00,0.03
05:35:48,PM,0.20,0.00,0.15
05:35:59,PM,0.15,0.03,0.03
05:36:10,PM,1.13,1.68,0.55
05:36:22,PM,0.08,0.00,0.03
05:36:33,PM,0.10,0.03,0.00
05:36:44,PM,0.23,0.50,0.00
05:36:55,PM,0.33,0.03,0.03
05:37:06,PM,0.15,0.00,0.00

Any suggestions please as to what is going wrong while executing the same script through cron?

Thanks for your time!

Regards,
a1_win
# 2  
Old 04-10-2013
For 24 hour format set LC_TIME to POSIX

eg:


Code:
LC_TIME="POSIX" sar -tu 5 1 |  awk ...

or for AM/PM
Code:
LC_TIME= sar -tu 5 1 |  awk ...

# 3  
Old 04-10-2013
Hi Chubler_XL,

Will this help resolve in getting the expected output by running the sript through cron?

Thanks,
a1_win
# 4  
Old 04-10-2013
yes it should do
# 5  
Old 04-10-2013
Hi Chubler_XL,

The issue is not resolved after setting the code as below:

Code:
LC_TIME="POSIX" sar -tu 5 1 |  awk ...

It still gives the incorrect output while running the script through cron as metioned earlier in this post:

Code:
Output when the script runs through cron:

$ cat sar_cpu_040913.csv

20:09:01,CPU,%nice,%iowait,%steal
20:09:11,all,0.00,0.05,0.00
20:09:22,all,0.00,0.03,0.00
20:09:33,all,0.00,0.05,0.03
20:09:44,all,0.00,0.03,0.00
20:09:55,all,0.00,0.03,0.00
20:10:06,all,0.00,0.03,0.00
20:10:17,all,0.00,0.03,0.03
20:10:28,all,0.00,0.03,0.00
20:10:39,all,0.00,0.03,0.00
20:10:50,all,0.00,0.03,0.00
20:11:01,all,0.00,0.25,0.02
20:11:12,all,0.00,0.00,0.00
20:11:23,all,0.00,0.02,0.00
20:11:34,all,0.00,0.03,0.03
20:11:45,all,0.00,0.02,0.00
20:11:56,all,0.00,0.05,0.00
20:12:07,all,0.00,0.05,0.00
20:12:18,all,0.00,0.05,0.03



Expected output should be:

Code:
$ cat sar_cpu_040913.csv

05:35:27,PM,%user,%system,%iowait
05:35:37,PM,0.18,0.00,0.03
05:35:48,PM,0.20,0.00,0.15
05:35:59,PM,0.15,0.03,0.03
05:36:10,PM,1.13,1.68,0.55
05:36:22,PM,0.08,0.00,0.03
05:36:33,PM,0.10,0.03,0.00
05:36:44,PM,0.23,0.50,0.00
05:36:55,PM,0.33,0.03,0.03
05:37:06,PM,0.15,0.00,0.00


Any other suggestions please?

Thanks,
a1_win
# 6  
Old 04-10-2013
Well you have something in your environment cron doesnt have...
What do you have in your env that could be time display related?
# 7  
Old 04-10-2013
Your two outputs show totally different columns. I doubt they are created by the same, identical script, once run interactively, and once by cron.
As cron will deploy a very limited environment, sourcing your ~/.profile may help defining the environment you are used to use interactively, but make sure you source it from the absolute path.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Unable to get output in mail body after running cron

I have prepared script to get the file details everyday and send mail. while running bash script manually , it sends output in body . but does not send through cron. cron sends only subject . I believe have to use some wait or sleep syntex. to complete first . please help. #!/bin/bash ls... (10 Replies)
Discussion started by: yash_message
10 Replies

2. 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

3. UNIX for Dummies Questions & Answers

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 ./script.sh it gets executed fine and does all that is required. also when i run thi script as sh... (2 Replies)
Discussion started by: Jcpratap
2 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

Script not running from cron it gives blank output

Hi, I have ascript which drops a mail with the jobs status. here is the script: #!/bin/ksh mypath=/home/gaddamja flashlogpath=/sbcimp/dyn/data/flash/log cd $mypath v1=`ls -lrt | grep -i checkFilesForAmber_EUR1. |tail -1 | awk '{print $8}'` v2=`cat $v1` cd $flashlogpath ... (1 Reply)
Discussion started by: jagadish_gaddam
1 Replies

8. Shell Programming and Scripting

isql output file not created while running it through cron

#!/bin/ksh file="/pkgs/roots/scripts/ISQL_op.txt" isql -H 11.11.11.111:1111 -U myUser -P myPwd -o $file << eof go select * from Table1 go eof my cron entry 00 08 03 11 * /pkgs/roots/scripts/testc.ksh file permission of the script is correct, i have used absolute path everywhere. ... (2 Replies)
Discussion started by: vikram3.r
2 Replies

9. 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

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