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.
Search this forum for "Cron Problem Number One" to find the one or other gazillion of threads dealing with this. The main problem is this line:
because: how should the system know where "sqlplus" is, without a PATH variable being set (which isn't set when executed from cron), hmm?
Quote:
Originally Posted by Nagaraj R
and let me know if anything to be corrected in the script.
Gladly so: first, get rid of the obnoxious backticks and use POSIX-means to do it:
Further advice might be given once you show us the complete script instead of a snippet. For a snippet of a script you only get a snippet of advice. ;-))
I hope this helps.
bakunin
Last edited by RudiC; 12-05-2016 at 08:07 AM..
Reason: Corrected /code tag.
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... (2 Replies)
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)
The script checks for free space stats on Oracle. If there are any tablespaces with more than 85% usage it prints the details of the tablespace. If all the tablespaces have more than 15% free space, then "All tablespaces have more than 15 pct free space" must be printed on the screen.
When I run... (2 Replies)
Status quo is, within a web application, which is coded completely in php (not by me, I dont know php), I have to fill out several fields, and execute it manually by clicking the "go" button in my browser, several times a day.
Thats because:
The script itself pulls data (textfiles) from a... (3 Replies)
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)
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)
Dear Experts,
Once again i need your vital help to fix my issue, please do the needfull.
Issue:- I have schedule one script on windows server to run's every 10 min.(Script do check the alert log file,if database found down it send the email) While i'm doing the database down manually its... (12 Replies)
Hi Experts,
Iam bit poor in shell scripting,
Here my requirement is for generating an alert where the oracle database db_recovery_file_dest_size usage. If it reaches beyond 80% should recieve an alert through an email.
Want to schedule this alert in cron.
#!/bin/bash
.... (9 Replies)
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)
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
LEARN ABOUT SUSE
cron
CRON(8) System Manager's Manual CRON(8)NAME
cron - daemon to execute scheduled commands (ISC Cron V4.1)
SYNOPSIS
cron [-l load_avg] [-n]
DESCRIPTION
Cron should be started from /etc/rc or /etc/rc.local. It will return immediately, so you don't need to start it with '&'. The -n option
changes this default behavior causing it to run in the foreground. This can be useful when starting it out of init.
Cron searches /var/spool/cron for crontab files which are named after accounts in /etc/passwd; crontabs found are loaded into memory. Cron
also searches for /etc/crontab and the files in the /etc/cron.d directory, which are in a different format (see crontab(5)). Cron then
wakes up every minute, examining all stored crontabs, checking each command to see if it should be run in the current minute. When execut-
ing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if
such exists).
Additionally, cron checks each minute to see if its spool directory's modtime (or the modtime on /etc/crontab) has changed, and if it has,
cron will then examine the modtime on all crontabs and reload those which have changed. Thus cron need not be restarted whenever a crontab
file is modified. Note that the Crontab(1) command updates the modtime of the spool directory whenever it changes a crontab.
Daylight Saving Time and other time changes
Local time changes of less than three hours, such as those caused by the start or end of Daylight Saving Time, are handled specially. This
only applies to jobs that run at a specific time and jobs that are run with a granularity greater than one hour. Jobs that run more fre-
quently are scheduled normally.
If time has moved forward, those jobs that would have run in the interval that has been skipped will be run immediately. Conversely, if
time has moved backward, care is taken to avoid running jobs twice.
Time changes of more than 3 hours are considered to be corrections to the clock or timezone, and the new time is used immediately.
PAM Access Control
On SUSE LINUX systems, crond now supports access control with PAM - see pam(8). A PAM configuration file for crond is installed in
/etc/pam.d/crond . crond loads the PAM environment from the pam_env module, but these can be overriden by settings in the crontab file.
SIGNALS
On receipt of a SIGHUP, the cron daemon will close and reopen its log file. This is useful in scripts which rotate and age log files.
Naturally this is not relevant if cron was built to use syslog(3).
CAVEATS
In this version of cron, /etc/crontab must not be writable by any user other than root. No crontab files may be links, or linked to by any
other file. No crontab files may be executable, or be writable by any user other than their owner.
SEE ALSO crontab(1), crontab(5), pam(8)AUTHOR
Paul Vixie <vixie@isc.org>
4th Berkeley Distribution 10 January 1996" CRON(8)