Date command does not work in a KSH when called from Cron


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date command does not work in a KSH when called from Cron
# 8  
Old 06-02-2009
The OP is confusing the "numbers" at the beginning of a crontab entry with what the script is calling.

Again - Solaris does not come out of the box with GNU date. You have to install it.
-d tomorrow does not work with the POSIX standard date command.

I've posted scripts for yesterday and tomorrow several times. Use the forum search engine.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Commands to call script work from command line but not from Cron entry

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

2. Shell Programming and Scripting

Cron Job - date command problem

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

3. UNIX for Dummies Questions & Answers

Interpreting Shell Script errors when called from CRON

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

4. Linux

Why service (start|stop) can not be called from cron?

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

5. Shell Programming and Scripting

Script not working when called by cron

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

6. Shell Programming and Scripting

want to get previous date from date command in ksh

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

7. Shell Programming and Scripting

Need help with ksh script that uses sqlplus, called from PHP

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

8. Shell Programming and Scripting

Command doesn't work under cron ?

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

9. Shell Programming and Scripting

How to determine the script is called from CRON?

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

10. Shell Programming and Scripting

gzip in shell script called by cron

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
Login or Register to Ask a Question
at(1)							      General Commands Manual							     at(1)

NAME
at, batch - Runs commands at a later time SYNOPSIS
at [-c | -s | -k] [-m] [-f file] [-q queuename] time [date] [+increment] [command | file]... at [-c | -s | -k] [-m] [-f file] [-q queuename] -t [[cc]yy] MMddhhmm [.ss] at -l -o [-q queuename] [user...] at -l [job_number] at -r [-Fi] job_number... | [-u user] at -n [user] batch The at and batch commands read from standard input or accept as arguments the names of commands to be run at a later time. The at command lets you specify when the commands are to be run. The batch command runs jobs when the system load level permits. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: at: XCU5.0 batch: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] Requests that csh be used for executing this job. Specifies the name of the file to use instead of stdin. The specified file contains the list of commands to be executed. [Tru64 UNIX] Suppresses delete verification. [Tru64 UNIX] Specifies interactive delete. [Tru64 UNIX] Requests that ksh be used for executing this job. Reports your scheduled jobs. [Tru64 UNIX] If the root user issues the command with this option, all of the queued at commands are listed with the name of the user who issued each one. The root user can also request a report of scheduled jobs for the specified user only. Mails a message about the successful execution of the command. Standard output and standard error are also mailed if they are generated and are not redirected. This is the default for standard output and standard error. Without the -m option, there is no notification of job completion, and no mail if standard output and standard error were not generated. [Tru64 UNIX] Requests the number of files in the queue for the current user. The root user can specify a different user with the user argument. [Tru64 UNIX] Lists jobs in sched- uled order. This option is useful only when used with the -l option. Specifies the queue you want to use. When used with the -l option, limits the search to the specified queue. Values for queuename are limited to the lower case letters a through z. By default, at jobs are scheduled in queue a and batch jobs are scheduled in queue b. Since queue c is reserved for cron jobs, it can not be used with the -q option. Removes a job previously scheduled by at or batch, where job_number is the number assigned by at or batch. If you do not have root user authority, you can remove only your own jobs. The atrm command is available to the root user to remove jobs issued by other users or all jobs issued by a specific user. This option can be used in combination with the -i, -f, and -u options. [Tru64 UNIX] Requests that the Bourne shell be used for executing this job (default). [Tru64 UNIX] Submits the job to be run at the specified time. (See the SYNOPSIS section for the correct time format.) Deletes all jobs for the specified user. This option must be used with the -r option as fol- lows: at -r -u user OPERANDS
[Tru64 UNIX] The operands associated with the at command specify the time at which the job should be run. They are described in the sec- tion Specifying a Time and Date. DESCRIPTION
Both at and batch mail you the standard output and standard error from the scheduled commands, unless you redirect that output. They also write the job number and the scheduled time to standard error. If a filename specified on an at command line is executable (that is, has the x permission for the user in question), at assumes that it is a command and the job consists of this command only. If the file is not executable, at assumes that you want its contents to be the instructions for the job (same as BSD at). [Tru64 UNIX] If at cannot find the file at all, the specification is passed to the date parser. If the specification is not recognized by the date parser, the user receives the error Unknown word. [Tru64 UNIX] The at command defaults to the Bourne shell. Use the -c option to specify the C shell, or the -k option to specify the Korn shell. Variables in the shell environment, the current directory, umask, and ulimit are retained when the commands run. The value of SHELL is set to be consistent with the shell actually used. Open file descriptors, traps, and priority are lost. You can use at if your login name appears in the /usr/lib/cron/at.allow file, if that file exists, or if there is no at.allow file and your name is not in the /usr/lib/cron/at.deny file. The at.allow and at.deny files contain one user name per line. Note that /usr/lib/cron is symbolically linked to /var/adm/cron. If neither the at.allow nor the at.deny file exists, only someone with root user authority can submit a job. To allow global access to at, the system administrator can remove the at.allow file and create a zero-length at.deny file. Specifying a Time and Date You must specify a time argument with these commands. You can specify optionally the date argument. These arguments are affected when the DATEMSK environment variable is set. The next subsection describes the effect of this environment variable. The required time argument can be one of the following: A number followed by an optional suffix. The at command interprets 1- and 2-digit numbers as hours. It interprets 4 digits as hours and minutes. The LC_TIME environment variable specifies the order of hours and minutes. The default order is the hour followed by the minute. You can also separate hours and minutes with a : (colon). The default order is hour:minute. In addition, you can specify a suffix of am, pm, or zulu. If you do not specify am or pm, at uses a 24-hour clock. The suf- fix zulu indicates that the time is UTC (Coordinated Universal Time). The at command also recognizes the following keywords as special times: noon, midnight, now, A for a.m., P for p.m., N for noon, and M for midnight. The time argument specifies a time in the future. For example, if the current time is 9:02 p.m., and you specify a time of 9P, the command is executed at 9 p.m. the next day. However, if the current time is 8:58 p.m. and you specify 9P, the command is executed in two minutes. The LC_TIME environment variable controls the key- words that at recognizes. Keywords are defined on a locale basis. You can specify the date argument as either a month name and a day number (and possibly a year number preceded by a comma), or a day of the week. The LC_TIME environment variable specifies the order of the month name and day number (by default, month followed by day). The at command recognizes two special days, today and tomorrow by default. The special day today is the default date if the specified time is later than the current hour; the special day tomorrow is the default if the time is earlier than the current hour. If the specified month is less than the current month (and a year is not given), next year is the default year. The optional increment can be one of the following: A + (plus sign) followed by a number and one of the following words: minute[s], hour[s], day[s], week[s], month[s], year[s] (or their locale specific equivalents). The special word next followed by one of the following words: minute[s], hour[s], day[s], week[s], month[s], year[s] (or their local specific equivalents). Job numbers are specified as follows: user.xxxxxxxxx.y [Tru64 UNIX] The user argument identifies the user who scheduled the job; xxxxxxxxx is a 9-digit number (encoded time for the job); and y indicates the job type or queue name as follows: Argument Job Type a at job b batch job e ksh job f csh job Setting the DATEMSK Environment Variable [Tru64 UNIX] If the DATEMSK environment variable is set, it points to a template file that the at command uses to determine the valid time and date arguments instead of the values described in the previous section. Specifically, noon, midnight, now, next, today, tomorrow, and increment are not recognized when the DATEMSK environment variable is set. [Tru64 UNIX] The entries in the template file used by the DATEMSK environment variable provide an expansive set of date formats available in different languages depending on the setting of the environment variable LANG or LC_TIME. The setlocale(3) reference page contains the list of field descriptors allowed in the template file. This list is a sublist of the field descriptors supported by the calendar command which are listed on the date(1) reference page. EXIT STATUS
The following exit values are returned: The at command successfully submitted, removed, or listed all specified jobs. An error occurred. EXAMPLES
To schedule a command from a terminal, enter a command similar to one of the following: at 5 pm Friday uuclean at now next week uuclean at now + 2 days uuclean The preceding commands can be scheduled as shown only if uuclean is in the current directory. To run uuclean at 3:00 in the after- noon on January 24, enter any one of the following commands: echo uuclean | at 3:00 pm January 24 echo uuclean | at 3pm Jan 24 echo uuclean | at 1500 jan 24 To list the jobs you have sent to be run later, enter: at -l To cancel jobs, enter: at -r julie.586748399.a This cancels job julie.586748399. Use at -l to list the job numbers assigned to your jobs. To execute a command when the system load level permits, enter: batch nroff infile > outfile <Ctrl-d> where <Ctrl-d> is the End-of-File character. Assume a template file, /var/tmp/AT.TEMPL, contains the following: %I %p, the %est of %B of the %Y run the following job %I %p, the %end of %B of the %Y run the following job %I %p, the %erd of %B of the %Y run the following job %I %p, the %eth of %B of the %Y run the following job %d/%m/%y %H:%M:%S %I:%M%p To invoke the at command when the DATEMSK environment variable is set to /var/tmp/AT.TEMPL, and the template file any of the follow- ing are valid: at 2 pm, the 3rd of July of the year 2000 run the following job at 3/4/99 at 10:30:30 at 2:30pm FILES
Main cron directory List of allowed users List of denied users Spool area History information for cron Queue description file for at, batch, and cron SEE ALSO
Commands: atq(1), atrm(1), calendar(1), csh(1), cron(8), date(1), kill(1), mail(1), binmail(1), ksh(1), mailx(1), Mail(1), nice(1), ps(1), Bourne shell sh(1b), POSIX shell sh(1p) Functions: setlocale(3) Standards: standards(5) Files: queuedefs(4) System Administration Network Administration Command and Shell User's Guide at(1)