06-15-2006
executing shell script from the cron
This isn't the usual problem that a shell script runs from the command line and not the cron. It's a little different.
Among other things, the shell scrip executes my .profile to set a bunch of variables. It then does an env to ensure that it ran OK.
There are echos in the shell script and the .profile. All this gets logged.
The shell script (simplified) looks like this:
echo Start of shell script
echo
.
.
.
/home/me/.profile
echo Results of env =
env
echo
echo End of shell script
The log (simplified) looks like this:
Start of shell script
----------- (these echos are from the .profile)
profile started
variables a b c x y z set
a=yes
b=yes
c=yes
x=yes
y=yes
z=yes
profile ended
------------------------
Results of env =
a=no
b=yes
c=no
--------
end of shell script
I can see from the log that it is executing the correct .profile, however, the variables set in the .profile aren't "retained".
If I change the command to :
. /home/me/.profile
^
Note: added . space
everthing runs fine.
So what's does the . space do that makes it work?
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
I am trying to execute the below shell script: script name(ss1).
ss1 was given permission - 744 before executing.
name: ss1
#ss1
#usage:ss1
ls
who
pwd
:wq
I tried to execute $ss1 (Enter)
Its not executing.... It says that ss1 is not found:
echo $SHELL. The o/put i got is... (5 Replies)
Discussion started by: dreams5617
5 Replies
2. UNIX for Dummies Questions & Answers
I am trying to run a shell script using the ./<ScriptName> command, but the server returns an error bash: ./Script1.sh: Permission denied
What variable do I need to set to avoid this? (4 Replies)
Discussion started by: igandu
4 Replies
3. UNIX for Advanced & Expert Users
Hi frnds...
I m facing very irritating problem already waisted my 2 days..
I have a following script..( i am pasting only the main code)
ftp -ivn 213.194.40.77 <<FTP
user $user $password
binary
cd $FileDir/out
lcd $localpath
get $file
rename $FileDir/out/$file $FileDir/tmp/$file... (1 Reply)
Discussion started by: clx
1 Replies
4. Shell Programming and Scripting
Hi,
I have a shell script as below:
ORACLE_HOME=/usr/local/opt/oracle/product/dev
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:/usr/bin
export PATH
OUTFILE=/export/home/`basename $0`.out
export OUTFILE
export IDEN
df -k . | tail -1 | read a b c d e f
echo $a >> $OUTFILE
echo $b... (4 Replies)
Discussion started by: Abhinav Pandey
4 Replies
5. Shell Programming and Scripting
Hi have a script which transferers from Microsoft server to Linux box.
The scripts(ksh) is on Linux box.
If I run script from terminal, it transfers files to directory. Where as If
I run script from CRON. It does not.
Here is the log of both:
Terminal execution log:... (2 Replies)
Discussion started by: dipeshvshah
2 Replies
6. UNIX for Dummies Questions & Answers
I'm trying to learn how to use cron for repetative tasks. I have an external disk that needs to be unmounted and remounted every hour due to some problems that a backup utility (specifically, TimeMachine) is having repeatedly accessing the device. I've created a shell script that will find the... (3 Replies)
Discussion started by: illuminate
3 Replies
7. Shell Programming and Scripting
Hi,
I created a script which connects to database and update a table.
This script is running fine when i run it manually but when i am trying to execute it scheduling in crontab.script is executing but Data is not getting updated.
below is my script
sqlplus test/##### >> test_feed.log <<!... (6 Replies)
Discussion started by: sv0081493
6 Replies
8. Shell Programming and Scripting
I am facing this weird issue where the script is working fine from the command line but when I am executing it from cron though it is working fine but the "if" loop is processing else part though I know that the if part of the logic is true and ideally the loop should execute the if portion.
... (3 Replies)
Discussion started by: sk2code
3 Replies
9. Shell Programming and Scripting
Hello All,
I'm having an issue getting an expect script to run as a cron job. The script executes fin if I run it from the command line but I get nothing when trying to run it as a cron job. I've researched other forums and threads and there have been references to the environment, or lack... (16 Replies)
Discussion started by: KingT617
16 Replies
10. AIX
Hi,
I have a shell script which fetches the MRP status and the LAG status.
When I execute it manually like, sh <script_name>, it fetches the output as expected, but when I schedule through crontab, it's not working as expected.
Any help would be really appreciated.
Here is the code... (3 Replies)
Discussion started by: Nagaraj R
3 Replies
CRON(8) System Manager's Manual CRON(8)
NAME
cron - clock daemon
SYNOPSIS
auth/cron [-c]
DESCRIPTION
Cron executes commands at specified dates and times according to instructions in the files /cron/user/cron. It runs only on an authentica-
tion server. Option -c causes cron to create /cron/user and /cron/user/cron for the current user; it can be run from any Plan 9 machine.
Blank lines and lines beginning with # in these files are ignored. Entries are lines with fields
minute hour day month weekday host command
Command is a string, which may contain spaces, that is passed to an rc(1) running on host for execution. The first five fields are integer
patterns for
minute 0-59
hour 0-23
day of month 1-31
month of year 1-12
day of week 0-6; 0=Sunday
The syntax for these patterns is
time : '*'
| range
range : number
| number '-' number
| range ',' range
Each number must be in the appropriate range. Hyphens specify inclusive ranges of valid times; commas specify lists of valid time ranges.
To run the job, cron calls host and authenticates remote execution, equivalent to running rx host command (see con(1)). The user's profile
is run with $service set to rx.
Cron is not a reliable service. It skips commands if it cannot reach host within two minutes, or if the cron daemon is not running at the
appropriate time.
EXAMPLES
Here is the job that mails system news.
% cat /cron/upas/cron
# send system news
15 8-17, 21 *** helix /mail/lib/mailnews
%
SOURCE
/sys/src/cmd/auth/cron.c
SEE ALSO
con(1), rc(1)
CRON(8)