Crontab help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Crontab help
# 1  
Old 11-25-2013
Crontab help

Hi

I am trying to create a cron job but i get an error

I have 2 files my main shell script with html which is genWebsite.sh and another called config.sh which hold variables that I pass to genWebsite.sh by using the line ./source config.sh.

I want a cron job to refresh a html generated from genWebsite.sh every minute, I am using the code
Code:
*/1 * * * * /homeDirectoryName/scriptFolder/genWebsite.sh>startPage.html

The cron successfully initialises I then get a message in var mail which says:
Code:
/homeDirectoryName/scriptFolder/genWebsite.sh: line 6: ./config.sh: No such file or directory

any help would be appreciated thanks

Last edited by vbe; 11-25-2013 at 12:47 PM.. Reason: code tags please!
# 2  
Old 11-25-2013
The error message is quite clear, it does not find the requested file config.sh...

Difficult to say much since we do not have genWebsite.sh to look at...
The best would be to put genWebsite.sh in a script you call for cron use and set all cron needs before calling genWebsite.sh in your script (such as if you want to use ./config.sh the you have do cd /<to_where config.sg resides> etc...)
# 3  
Old 11-25-2013
This is probably because the environmental variables like $PATH that you expect when you login are not set up when cron spawns a job.

You will either have to:-
  • Explicitly name the file with a full path
  • Define the $PATH and other variables you might need



I hope that this helps.


Robin
Liverpool/Blackburn
Uk
# 4  
Old 11-25-2013
cron probably isn't running this in the folder you expect it to run in. You should cd /path/to/appropriatefolder in your script if it demands a certain folder.
# 5  
Old 11-25-2013
Quote:
Originally Posted by vbe
The error message is quite clear, it does not find the requested file config.sh...

Difficult to say much since we do not have genWebsite.sh to look at...
The best would be to put genWebsite.sh in a script you call for cron use and set all cron needs before calling genWebsite.sh in your script (such as if you want to use ./config.sh the you have do cd /<to_where config.sg resides> etc...)
Code:
#!/bin/bash

my genWebsite.sh

source ./config.sh


##### Functions

show_uptime()
{
    echo "<h2>System Time and Uptime</h2>"
    echo "<pre>"
    uptime
    echo "</pre>"
}


drive_space()
{
    echo "<h2>User Disk Space Available</h2>"
    echo "<pre>"
    df -h
    echo "</pre>"
}



search_bar()
{
    echo "<h2>Search Facility</h2>"
    echo "<form id="cse-search-box" action=$SearchEngine>"
    echo "<input type="hidden" name="cx" value=$SearchEngine />"
    echo "<input type="hidden" name="ie" value="UTF-8" />"
    echo "<input type="text" name="q" size="31" />"
    echo "<input type="submit" name="sa" value="Search" />"
    echo "</form>"
	
}

weather_forecast()
{
	

echo ""
echo "<html><head><title>Welcome</title></head>"
echo "<body>"
echo "<h2>Weather Forecast</h2>"
echo "<a href="http://www.accuweather.com/en/gb/leicester/le1-3/weather-forecast/$City" class="aw-widget-legal">"
echo "</a><div id="awcc1384544545323" class="aw-widget-current"  data-locationkey="$City" data-unit="c" data-language="en-gb" data-useip="false" data-uid="awcc1384544545323"></div><script type="text/javascript" src="http://oap.accuweather.com/launch.js"></script>"

echo "</body></html>"
}



latest_news()
{
	echo "<h2>Latest News</h2>"
    echo ""
}

world_time()
{
	
	echo "<h2>World Time</h2>"
	 export TZ=America/Los_Angeles
	 date
	 
   
    echo "<p>"Unset:"</p>"
    unset TZ
    date
    echo "<p>"Requested Time and Date:"</p>"
    export TZ=$Time
    date
    
    


}


##### HTML page which diaplys Functions set above  

cat <<- _EOF_
    <HTML>
    <HEAD>
	<TITLE>
	My Personalised Website
	</TITLE>
    </HEAD>

    <BODY>
    <H1>My Personalised Website</H1>
	 <h1>$TITLE</h1>
      <p>$TIME_STAMP</p>
      $(show_uptime)
      $(drive_space)
      $(search_bar)
      $(weather_forecast)
      $(latest_news)
      <script id="feed-1385133247099625" type="text/javascript" src="http://rss.bloople.net/?url=http%3A%2F%2Ffeeds.bbci.co.uk%2Fnews%2Frss.xml&limit=$NewsThreads&showicon=true&fixbugs=true&type=js&id=1385133247099625"></script>
      $(world_time)
	  
	 
	 
	 
	 

    </BODY>
    </HTML>
_EOF_

my config.sh

Code:
#!/bin/sh

##confg.sh - all of the users configuration is stored here from the case statements as a vaiable

##TITLE variable which is output in genWebsite displays the current user name via $USER
TITLE="Personalised Website for $USER"
##RIGHT_NOW variable which is output in genWebsite displays the server date in full format
RIGHT_NOW=$(date +"%x %r %Z")
##TIME_STAMP variable which is output in genWebsite displays the contents of the RIGHT_NOW variable and the cuurent user
TIME_STAMP="Updated on $RIGHT_NOW by $USER"

##variables from the case statements


Time=America/Los_Angeles
City=204842
SearchEngine=http://bing.com

---------- Post updated at 05:09 PM ---------- Previous update was at 05:07 PM ----------

Quote:
Originally Posted by Corona688
cron probably isn't running this in the folder you expect it to run in. You should cd /path/to/appropriatefolder in your script if it demands a certain folder.
do you mean set the full directory when sourcing config.sh from genWebsite.sh instead of using ./source config.sh use full/directory/config.sh?
# 6  
Old 11-25-2013
in other words you are missing:
Code:
cd /homeDirectoryName/scriptFolder/

put that as second line of your genWebsite.sh script and try...
# 7  
Old 11-25-2013
Quote:
Originally Posted by vbe
in other words you are missing:
Code:
cd /homeDirectoryName/scriptFolder/

put that as second line of your genWebsite.sh script and try...
I used the pwd command to get the homeDirecotory to file written structure i then typed this in after cd as suggested but I get a error saying No such file or Directory, should the directory start from where the cron file is saved?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

at vs crontab

Hi, can someone explain the differences between using the at and crontab commands. When would you use one command over the other? TIA Dom (1 Reply)
Discussion started by: domburf69
1 Replies

2. Shell Programming and Scripting

crontab

I have a crontab entry,but it is not working. Can anybody help me in this regard?? (2 Replies)
Discussion started by: Sourav_Paul
2 Replies

3. UNIX for Advanced & Expert Users

Help regarding crontab

Dear All jobs are scheduled in crontab . To view this I use crontab -l . But suddenly today I am not able to see any jobs that is being scheduled in crontab. when I type crontab -l , I am seeing nothing.I am not logging through admin user(i dont have it).But I can schedule jobs through... (3 Replies)
Discussion started by: tkbharani
3 Replies

4. UNIX for Advanced & Expert Users

Crontab help

hi, I run a .sh file using crontab. I need to know the path of the file . Previously when I run the file alone , i used "pwd" but now when using crontab it gives the temp directory of the file. Is there any way I can find the absolute path of the file when i execute it ? Regards, Ranga (7 Replies)
Discussion started by: r_W213
7 Replies

5. Shell Programming and Scripting

Using Crontab

Hi All, I've a shell script which calls a Sybase stored procedure to do some functionality. I want to schedule the running of this script by crontab. I'm using Solaris 5.8. When i executed the following command crontab -l i got the output as crontab: can't open your crontab file How... (10 Replies)
Discussion started by: sumesh.abraham
10 Replies

6. UNIX for Dummies Questions & Answers

crontab

hi all how to schedule the crontab file in unix? (2 Replies)
Discussion started by: ss4u
2 Replies

7. Shell Programming and Scripting

help with crontab

i have a ksh script that creates messages in a temp directory and then sends them out using the sendmail command and i'm trying to set it up to run every night with crontab. So the basic gist of the script is #create temp dir and messages ... #loop through each message and send using sendmail... (3 Replies)
Discussion started by: bob122480
3 Replies

8. UNIX for Dummies Questions & Answers

Crontab

How can I run "crontab" (parameters) every 6 hours on solaris machine? Thanks (1 Reply)
Discussion started by: gen4ik
1 Replies

9. UNIX for Dummies Questions & Answers

about crontab

dear all , does any one now how can i become sure that the crontab that i put was working successfully not by looking for thr result of the sheduled task but from a log for the crontab or something similar and i need to check that the cron i wrote is correct 00 15 * * 0,1,2,3,6... (2 Replies)
Discussion started by: habuzahra
2 Replies

10. UNIX for Dummies Questions & Answers

crontab

Hi I have a shell script which works fine at the command line and does works in crontab also but does not send the output to mail as other scripts do by default. 10 1 * * * /export/home/test/report_script by default should send the output to mail but the script runs OK and the output... (1 Reply)
Discussion started by: run_time_error
1 Replies
Login or Register to Ask a Question