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
LEARN ABOUT CENTOS
crontabs
CRONTABS(4) Crontabs users' Manual CRONTABS(4)
NAME
crontabs - configuration and scripts for running periodical jobs
SYNOPSIS
run-parts [--list|--test]<directory>
DESCRIPTION
Crontabs is a historical name for the run-parts script and the system crontab. The run-parts script runs all executables in the specified
directory. Run-parts runs all executables in the specified directory. The execution of files can be allowed or denied by creating file
jobs.allow or jobs.deny which worked similar as other allow/deny config files. The file must be created in the specified directory.
--list print names of all files (not limited to executables), but don't run them. This option can't be used with test option.
--test print names of files, which would be run.
Randomization of jobs can be configured in the /etc/sysconfig/run-parts file. To enable randomization of jobs, set the RANDOMIZE
parameter to 1 and set the RANDOM parameter to an integer which determines a random seed. Additionally, you may configure the RAN-
DOMTIME parameter (again, by specifying an integer) to provide an additional level of randomization. Jobs are not randomized when
the RANDOM and RANDOMTIME parameters are set to 0. Values in these two parameters must be set to 1 or larger to provide a good
enough randomization.
Randomization of cron jobs can be useful for shared networks, where multiple cron jobs executed at once can cause spikes in traffic,
especially during daily jobs. With randomized jobs, the workload is evenly distributed throughout the day.
EXAMPLE OF CONFIGURATION FILE
RANDOMIZE=1
RANDOM=4
RANDOMTIME=8
Historically the crontab file contained configuration which called run-parts on files in cron.{daily,weekly,monthly} directories. These
jobs are now run indirectly through anacron to prevent conflicts between cron and anacron. That means the anacron package has to be
installed if the jobs in these directories should be running. Refer to the anacron(8) how to limit the time of day of the job execution.
EXAMPLE
/etc/cron.daily/jobs.deny could contain for example 0logwatch which forbid execution of this script.
SEE ALSO
anacron(8), crontab(5)
Marcela Malaova 2012-08-29 CRONTABS(4)