04-30-2009
Date command does not work in a KSH when called from Cron
Hi,
I'm trying to execute a job on the last day of every month, for which i'm using the following code in my Korn shell script :
if [[ `date +%d -d tomorrow` != 01 ]];
then
echo allowed only on last day of month. Today is `date +%d` >t.stm
echo Tomorrow is `date +%d -d tomorrow` >s.stm
exit 0
fi
...
....
.... (actual code to be executed)
Here is the crontab entry for it :
2,32 6-10 28-31 * * /intl_cim/acq_mdl1/cms/prod/global/scripts/trigger.ksh prod > /dev/null 2>&1
Strange enough, when i execute this script from the command prompt it works fine, but when it is executed by the cron, the file s.stm and t.stm show the same date. Which means it is not calculating Date -d tomorrow.
Can you please help me understand why this would happen. Here is what uname -a on my machine says :
SunOS sppmd541 5.10 IDR_139180-01 sun4u sparc SUNW,Sun-Fire-15000
Thanks a lot.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm puzzled by this one. I hope you can explain it to me.
I have a ksh shell script that gzips a file among other things. This works perfectly fine when the script is manually run through a shell. However, when the same script is run through cron, it does everything correctly, but it will... (2 Replies)
Discussion started by: hbau419
2 Replies
2. Shell Programming and Scripting
Hello expert,
What I want is to determine whether the script is called from CRON or it is executed interactively?
I tried the following but no luck:
#!/bin/ksh
cronID=`pgrep -x cron`
GPID=`ps -ef -o ppid,pid | grep " $PPID$" | awk '{print $1}'`
if ; then
echo I am being run... (15 Replies)
Discussion started by: wes_brooks
15 Replies
3. Shell Programming and Scripting
I have defined in cron
crontab -l >/FIXENGINE/data/crontab.$(whoami).$(date +%a)
The resulting file is named
crontab.fixadmin.
When I run the above from a command line, the file is named:
crontab.fixadmin.Tue (or whatever day I happen to be running)
The question is - why do I get... (4 Replies)
Discussion started by: bigjohn-nj
4 Replies
4. Shell Programming and Scripting
I have a ksh script that connects to sqlplus and dumps the query results into a file. The script works file when I run it from the command line, however, when I call it from PHP using system(), exec(), or shell_exec() commands, the script doesn't seem to run the query. It will create the text file... (7 Replies)
Discussion started by: j2owilson
7 Replies
5. Shell Programming and Scripting
I want to get previous date from date command. I am using ksh shell.
Exmp:
today is 2008.09.04
I want the result : 2008.09.03
Please help.
Thanks in advance. (4 Replies)
Discussion started by: rinku
4 Replies
6. Shell Programming and Scripting
Hello,
I have the following script which works fine when ran from the command line:
#!/apps/python/2.3.4/bin/python
import os
import sys
import time
user = os.getenv("USER")
string = time.strftime("%m%d%y0000 " + user, time.gmtime())
However, when I have this run by crontab, I... (4 Replies)
Discussion started by: cooldude
4 Replies
7. Linux
Hi,
When I googled, I came to know that I can not call the command
"service <service-name> start" from cron, insted I have to specify path to the service-name.
I wanted to know the reason.
Thanks,
Hansini (3 Replies)
Discussion started by: hansini
3 Replies
8. UNIX for Dummies Questions & Answers
Hi All,
I am calling a series of shell scripts via CRON so everything is running as root. However, in my error log file I am seeing the following errors. Please can anyone offer any advise as to the possible causes and solution to prevent the errors from appearing.
The Error 1227 seems to... (2 Replies)
Discussion started by: daveu7
2 Replies
9. Shell Programming and Scripting
Hi
I have one problem with cron job in Control Panel.
I have a log file that is created once a day on another server and I need to transfer it in an exact time to my server so I wrote the cron job for it BUT the problem is in the date command:
/filelog-`date +%Y-%m-%d`.tar.gz;
The file... (1 Reply)
Discussion started by: bobo_balde
1 Replies
10. AIX
My first post evidently did not materialize so I posted it again:
Runnning a cron job every 5 mins to send data files to a state facility.
My original cron entry at worked fine:
01,06,11,16,21,26,31,36,41,46,51,56 * * * * /home/sftpuser/stateinoc-from-appname.ksh
Somewhere I have a... (1 Reply)
Discussion started by: Skyybugg
1 Replies
LEARN ABOUT OPENSOLARIS
calendar
calendar(1) User Commands calendar(1)
NAME
calendar - reminder service
SYNOPSIS
calendar [-]
DESCRIPTION
The calendar utility consults the file calendar in the current directory and writes lines that contain today's or tomorrow's date anywhere
in the line to standard output. Most reasonable month-day dates such as Aug. 24, august 24, 8/24, and so forth, are recognized, but not 24
August or 24/8. On Fridays and weekends "tomorrow" extends through Monday. calendar can be invoked regularly by using the crontab(1) or
at(1) commands.
When the optional argument - is present, calendar does its job for every user who has a file calendar in his or her login directory and
sends them any positive results by mail(1). Normally this is done daily by facilities in the UNIX operating system (seecron(1M)).
If the environment variable DATEMSK is set, calendar will use its value as the full path name of a template file containing format strings.
The strings consist of conversion specifications and text characters and are used to provide a richer set of allowable date formats in dif-
ferent languages by appropriate settings of the environment variable LANG or LC_TIME; see environ(5). Seestrftime(3C) for the list of
allowable conversion specifications.
EXAMPLES
Example 1 Possible contents of a template
The following example shows the possible contents of a template:
%B %eth of the year %Y
%B represents the full month name, %e the day of month and %Y the year (4 digits).
If DATEMSK is set to this template, the following calendar file would be valid:
March 7th of the year 1989 <Reminder>
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of calendar: LC_CTYPE, LC_TIME, LC_MES-
SAGES, NLSPATH, and TZ.
EXIT STATUS
0 Successful completion.
>0 An error occurred.
FILES
/etc/passwd system password file
/tmp/cal* temporary files used by calendar
/usr/lib/calprog program used to determine dates for today and tomorrow
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
SEE ALSO
at(1), crontab(1), mail(1), cron(1M), ypbind(1M), strftime(3C), attributes(5), environ(5)
NOTES
Appropriate lines beginning with white space will not be printed.
Your calendar must be public information for you to get reminder service.
calendar's extended idea of ``tomorrow'' does not account for holidays.
The - argument works only on calendar files that are local to the machine; calendar is intended not to work on calendar files that are
mounted remotely with NFS. Thus, `calendar -' should be run only on diskful machines where home directories exist; running it on a disk-
less client has no effect.
calendar is no longer in the default root crontab. Because of the network burden `calendar -' can induce, it is inadvisable in an environ-
ment running ypbind(1M) with a large passwd.byname map. If, however, the usefulness of calendar outweighs the network impact, the super-
user may run `crontab -e' to edit the root crontab. Otherwise, individual users may wish to use `crontab -e' to edit their own crontabs to
have cron invoke calendar without the - argument, piping output to mail addressed to themselves.
SunOS 5.11 1 Feb 1995 calendar(1)