Crontab strange behaviour


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
Crontab strange behaviour

Hi all,

I'm having this scenario which for the moment I cannot resolve. Smilie

I wrote a script to make a dump/export of the oracle database. and then put this entry on crontab to be executed daily for example.
The script is like below:
Code:
cat /home/oracle/scripts/db_backup.sh 
#!/bin/ksh 
 
#Backup export database script 
#Created 05-04-2011 
# * * * 
 
DATE=`date +%d%m%Y-%H%M%S` 
ARCHIVE_DIR=/home/oracle/arch 
SCRIPTS_DIR=/home/oracle/scripts 
USER=oracle 
PASS=XXXXXXXX 
 
( 
echo "Starting database dump ..." 
date 
 
cd $ARCHIVE_DIR 
exp $USER/$PASS FILE=filename_$DATE.dmp log=logfile_$DATE.log 
 
echo "End of database dump ..." 
date 
 
) | tee $ARCHIVE_DIR/exp_logfile-$DATE.log 2>&1

Also the crontab entry:
Code:
host> crontab -l 
00 11 * * * /home/oracle/scripts/db_backup.sh 2>&1

The crontab entry and also the script is executed as oracle user. When I execute directly from the shell the script is executed correctly and the dump is also generated ok.
But on the cron job I get only the log part "Starting/Stoping database dump ..." and not the export dump file and dump_log file: the "exp..." part. Smilie

What can be the problem?

Thanks

Enid
# 2  
The error messages will be in unix mail for the owner of the cron.

The default environment for cron is very limited. Any extra environment which has been set for whichever interactive user ran the script successfully needs to be put into the script if you want it to work from cron.

In your case I doubt if "exp" is in $PATH and also there are no ORA environment variables set.

Try running "set" from the command line and compare with the output of a one-off cron containing just "set".
# 3  
Hi methyl,

Thanks for your reply,
indeed the problem was related to the environment variables Smilie
running
Code:
set

on the two occasions, shell and cron gave different env variables.
So I added at the beginning of the script this part:
Code:
. /home/oracle/.profile

Everything OK , the dump export and the dump_log is created ok Smilie, but strange because the scripts stops/exits after the exp command and I don't get the last echo and date part of the script.

It is a minor problem , but I'll try to figure out why it stops there.

Regards
# 4  
no very clear!
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #489
Difficulty: Medium
Because interpreted languages are not compiled, syntax errors do not become runtime errors.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strange RegExp Behaviour

Hello, I was trying to identify lines who has a word of the following pattern "xyyx" (where x, and ys are different characters). I was trying the following grep - egrep '(\S)()\2\1' This pattern do catches the wanted pattern, but it also catches "GGGG" or "CCCC" patterns. I was trying to... (5 Replies)
Discussion started by: itskov
5 Replies

2. HP-UX

Strange login behaviour

Hi all, I am using HP-UX and I have just noticed that when I log into the network it seems to save the previous windows that were subsequently closed on previous occasions. Does anyone know when I log in, it seems to display these previous windows, e.g. nedit windows open again? Does... (1 Reply)
Discussion started by: cyberfrog
1 Replies

3. Shell Programming and Scripting

Strange behaviour with perl i/o?

Hi All, I got a strange problem here. I have a perl script which is fetching data from a database table and writing a file with that data. If i run that script from linux command line, the file it creates is a normal ascii text file without any binary character in it.But... (9 Replies)
Discussion started by: DILEEP410
9 Replies

4. Shell Programming and Scripting

strange behaviour from sed???

Hi all, I want to do a very simple thing with sed. I want to print out the line number of a disk I have defined in /etc/exports, so I do: It's all good, but here's the problem. When I define md0 in a variable, I get nothing from sed: Why is that? can anybody please help? Thanks (2 Replies)
Discussion started by: alirezan
2 Replies

5. UNIX for Dummies Questions & Answers

Strange Program behaviour

Had a strange thing going on with my code. It's ok I figured it out for myself.... (2 Replies)
Discussion started by: mrpugster
2 Replies

6. Shell Programming and Scripting

Strange behaviour from script in crontab

Apologies if this has been mentioned elsewhere, my search skills may be lacking somewhat today. I have a script that does the following (as a test): find . -name "*.txt" -exec file {} \; >>$sFullFilePath Now, the variable is set up up correctly in the script too. When I run the script... (1 Reply)
Discussion started by: PilotGoose
1 Replies

7. UNIX for Advanced & Expert Users

Strange sed behaviour

$ echo a.bc | sed -e "s/\|/\\|/g" |a|.|b|c| $ Is the behavior of the sed statement expected ? Or is this a bug in sed ? OS details Linux 2.6.9-55.0.0.0.2.ELsmp #1 SMP Wed May 2 14:59:56 PDT 2007 i686 i686 i386 GNU/Linux (8 Replies)
Discussion started by: vino
8 Replies

8. Shell Programming and Scripting

A Strange Behaviour!!!

Can some-one give me a view to this : I have a directory in an unix server, having permissions r-xr-xr-x .This directory is basically a source directory. Now there is another directory basically the destination directory which has all the permissions. Note:I log in as not the owner,but user... (5 Replies)
Discussion started by: navojit dutta
5 Replies

9. Linux

/etc/passwd strange behaviour!

Hi there, first of all, here is my conf of a uname -a Linux SAMBA 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown on a fedora machine. Here is my problem: every once in a while, the line containing root disappears in the /etc/passwd, disabling all logging on my server. Any one have... (0 Replies)
Discussion started by: penguin-friend
0 Replies

Featured Tech Videos