04-22-2014
When I've come up with a different behaviour in script vs. cronjob execution, it has turned out to be probably because of one these (presuming you are in the same machine):
- user executing the cron task is different from the one used for testing.
- user is the same for cron and testing BUT it's using different environments.
Logging with "su" instead of "su -" it does not load the user's environment. So when running cron, the system executes the script loading the user's environment, of course. Then if testing when same user but different environment, there are many chances that the script is not going to behave in the same way or in the way expected.
Alternatevely, you may have logged in using a non-interactive shell like ssh to test the script, and then the script run using the local environment.
So how do you log in in the system when testing the script?
K.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi,
I have a script that will automatically login into a server and get a file. it is working fine if i run it on a command line. however, when i tried to run it as a cron job, it is not working. what should i do?
set timeout -1
spawn /usr/bin/sftp user1@server1
match_max 100000
expect... (3 Replies)
Discussion started by: tungaw2004
3 Replies
2. UNIX for Advanced & Expert Users
I created a file in /u01/oradata directory as cronjb.ksh which contains following script
30 12 * * * /export/home/oracle/u01/oradata/rman.ksh
'/export/home/oracle' is my root directory. I then moved cronjb.ksh file to my '/export/home/oracle' directory. i typed crontab cronjb.ksh. However my... (8 Replies)
Discussion started by: manna
8 Replies
3. Shell Programming and Scripting
Hi
I have a script which uses expect and I run it on solaris 10 to set a common password for all users. I run it as `./script password` but when I tried to log into the system then I do not really have to type password, pressing ENTER on keyboard logs the user into system. (ssh)
This below... (2 Replies)
Discussion started by: upengan78
2 Replies
4. Solaris
I am trying to schedule a job via cronjob. Not sure what the problem is. below is my script and the error.
45 10 * * * /u01/app/oracle/jpark/sched_exp_mis.sh
Error received.
Your "cron" job on tama
/u01/app/oracle/jpark/sched_exp_mis.sh
produced the following output:
... (19 Replies)
Discussion started by: mrx1350
19 Replies
5. Solaris
Hi All , I have a cron jobs
that is not working while put inside cron.
But on executing from manually, it works fine,
Pl anyone find if there is anything wrong in the script.
30 22 * * 1-5 cd /home/ab90737/introscope/util/bin; ./batchgenerateReport.pl ../config/reps.config >... (1 Reply)
Discussion started by: jegaraman
1 Replies
6. UNIX for Advanced & Expert Users
Hi there
I have a cronjob running on a sol 10 U6 server which runs every 15 minutes. The cronjob is a perl script. But I have noticed that after every few weeks the job stops running all of a sudden. There are other cronjobs running on the system from the same user and from other users which... (3 Replies)
Discussion started by: sinfuldips
3 Replies
7. Shell Programming and Scripting
Hi ,
While loop is not working when running script as cronjob.
#!/usr/bin/bash
xyz
sleep 30
var=0
while
do
xyz commands
done
This script is working if I run it manually. (7 Replies)
Discussion started by: ankush_mehra
7 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I am trying to run a script through crontab but it doesn't run. The script sends an email of the logfile created.When I reun through command line it works perfectly but doesn't send any email through cron. There are othe jobs in cron wich runs perfectly.
Please let me know if I am doing... (3 Replies)
Discussion started by: Rossdba
3 Replies
9. Shell Programming and Scripting
Hi;
Here is the output from crontab -l:
2,7,12,17,22,27,32,37,42,47,52,57 * * * * /var/tmp/gcsw/jmap_samples/jmap_script.sh > /var/tmp/gcsw/jmap_samples/histo_`date '+%Y%m%d%H%M'`.txtWhen I manually run the line: /var/tmp/gcsw/jmap_samples/jmap_script.sh >... (2 Replies)
Discussion started by: gc_sw
2 Replies
10. Shell Programming and Scripting
Hi,
Can anyone help me on my PHP cron not working, but when i do the manual it work.
# manual run working
/usr/local/bin/php /root/dev/test.php
# crontab not working
55 8 * * * /usr/local/bin/php /root/dev/test.php
Thank in advances
Regards,
FSPalero
Please use CODE tags as... (2 Replies)
Discussion started by: fspalero
2 Replies
AT(1) General Commands Manual AT(1)
NAME
at - execute commands at a later time
SYNOPSIS
at [ -c ] [ -s ] [ -m ] time [ day ] [ file ]
DESCRIPTION
At spools away a copy of the named file to be used as input to sh(1) or csh(1). If the -c flag (for (csh(1))) or the -s flag (for (sh(1)))
is specified, then that shell will be used to execute the job; if no shell is specified, the current environment shell is used. If no file
name is specified, at prompts for commands from standard input until a ^D is typed.
If the -m flag is specified, mail will be sent to the user after the job has been run. If errors occur during execution of the job, then a
copy of the error diagnostics will be sent to the user. If no errors occur, then a short message is sent informing the user that no errors
occurred.
The format of the spool file is as follows: A four line header that includes the owner of the job, the name of the job, the shell used to
run the job, and whether mail will be set after the job is executed. The header is followed by a cd command to the current directory and a
umask command to set the modes on any files created by the job. Then at copies all relevant environment variables to the spool file. When
the script is run, it uses the user and group ID of the creator of the spool file.
The time is 1 to 4 digits, with an optional following `A', `P', `N' or `M' for AM, PM, noon or midnight. One and two digit numbers are
taken to be hours, three and four digits to be hours and minutes. If no letters follow the digits, a 24 hour clock time is understood.
The optional day is either (1) a month name followed by a day number, or (2) a day of the week; if the word `week' follows, invocation is
moved seven days further off. Names of months and days may be recognizably truncated. Examples of legitimate commands are
at 8am jan 24
at -c -m 1530 fr week
at -s -m 1200n week
At programs are executed by periodic execution of the command /usr/libexec/atrun from cron(8). The granularity of at depends upon the how
often atrun is executed.
Error output is lost unless redirected or the -m flag is requested, in which case a copy of the errors is sent to the user via mail(1).
FILES
/usr/spool/at spooling area
/usr/spool/at/yy.ddd.hhhh.* job file
/usr/spool/at/past directory where jobs are executed from
/usr/spool/at/lasttimedone last time atrun was run
/usr/libexec/atrun executor (run by cron(8))
SEE ALSO
atq(1), atrm(1), calendar(1), sleep(1), cron(8)
DIAGNOSTICS
Complains about various syntax errors and times out of range.
BUGS
Due to the granularity of the execution of /usr/libexec/atrun, there may be bugs in scheduling things almost exactly 24 hours into the
future.
If the system crashes, mail is not sent to the user informing them that the job was not completed.
Sometimes old spool files are not removed from the directory /usr/spool/at/past. This is usually due to a system crash, and requires that
they be removed by hand.
4th Berkeley Distribution October 21, 1996 AT(1)