Sponsored Content
Top Forums Shell Programming and Scripting Passing Parameters to Crontab Post 302934878 by bakunin on Wednesday 11th of February 2015 04:44:51 PM
Old 02-11-2015
If i understand you correctly you have the following situation:

- You have several servers and want to deploy crontab entries on them.
- The entries should get the local hostname as parameter.

First, i think you won't need to pass the hostname as a parameter because you could find it out inside the cron-script:

Code:
#! /bin/ksh

typeset chLocalHostname="$(hostname -s)"

[...]

do_whatever "$chLocalHostname"

If you still want (for whatever reason) to put the hostname into the commandline write a deploy-script to create the crontab-entry. I am not sure where the crontabs are located in your Linux, so you might have to change the pathes a bit in the following, but the idea should be clear enough:

Code:
#! /bin/ksh

# protect against multiple runs
if grep -q myshellscript /var/spool/cron/crontabs/root ; then
     print - "Already installed - aborting"
     exit 0
fi

# deploy
scp user@deployhost:/some/where/myshellscript /path/to/myshellscript

print - "55 10 * * 0 /path/to/myshellscript $(hostname -s) 2>/dev/null 1>/dev/null" >> /var/spool/cron/crontabs/root

# tell cron to reread config:

killall -s 1 cron

exit 0

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Passing parameters in script

I have 2 scripts: script1 and script2 Script1 passes 4 parameters to script2 as follows #script1 code ... ... script2 $var1 $var2 $var3 $var4 Script2 uses the export command to know to expect these values #script2 export $1 $2 $3 $4 code ... ... The problem that I am having is... (1 Reply)
Discussion started by: eliguy
1 Replies

2. Shell Programming and Scripting

Passing parameters through a file

I have created a script "myscript.sh" I need to run this script with diffrent parameters. The parameters are stored in a file myparam.txt. I need to run myscript.sh script for every parameter supplied in myparam.txt. Example: If myparam.txt contains following lines: param1 param2 param3... (3 Replies)
Discussion started by: chawlaaman
3 Replies

3. Shell Programming and Scripting

passing more than 9 parameters

hi, i am passing around 14 parameters for a script a=$1 b=$2 c=$3 d=$4 e=$5 f=$6 g=$7 h=$8 i=\"${9}\" shift j=\"${1}\" still for j it is displaying the 1st parameter value..how to make it take the 10th parameter (2 Replies)
Discussion started by: dnat
2 Replies

4. Shell Programming and Scripting

passing parameters using awk

Hi, The below script is working fine awk1.sh ======= awk BEGIN { FS="|" } FNR==NR { f1=$2; next } $1 in f1 && $2 =="xx" && $1 == "DAILY_JOB" {print $3} awk -f awk1.sh a.txt b.txt--Its working fine . When passing parameters its not working .Any help it should be appereciated. ... (4 Replies)
Discussion started by: akil
4 Replies

5. Shell Programming and Scripting

Passing the parameters using a function

Hi All, I am new to shell scripting required some help in passing the parameter value to the shell script. I am writing a shell script, in the script I have created two functions as below. first function get_trend_ids () { Here I am connecting to the database and getting all the... (3 Replies)
Discussion started by: shruthidwh
3 Replies

6. UNIX for Dummies Questions & Answers

Passing the parameters through a file

Hi All, I have written a shell script and the script is working fine, I am passing my MIT_ID(NUMBER VALUE) to the shell script from the command prompt and my script is executing as expected. Now I have to pass all the MIT_ID's from a .txt file to the shell script,as I am automating this I... (6 Replies)
Discussion started by: gaur.deepti
6 Replies

7. Shell Programming and Scripting

passing parameters to the script

how can i make a script to run only when parameters are given, if parameters are not given it should through an error , saying "please enter a parameter" for ex: i want a find command to run only when the parameters are given (4 Replies)
Discussion started by: knip
4 Replies

8. Shell Programming and Scripting

passing parameters with spaces

we are using following script to execute stored procedue. The problem is run_pmcmd.ksh script is using $* parameter which is not taking in account 'Men Shirt' parameter which includes spaces. 1. Step 1 run_pmcmd.ksh CONVERT_TEST script for run_pmcmd.ksh /u01/$(whoami)/run_pmcmd.ksh... (11 Replies)
Discussion started by: sandy162
11 Replies

9. Shell Programming and Scripting

Passing 2+ parameters to one command

I have a script that uses more than one parameter. It looks like this: for i in `cat /tmp/listofpolicies`; do for x in $(cat /tmp/lst |sed 's/^/\/usr\/openv\/netbackup\/db\/class\//g'); do /usr/openv/netbackup/bin/admincmd/bpplinclude $i -delete -f $x;done;done The problem is that the... (3 Replies)
Discussion started by: newbie2010
3 Replies

10. Shell Programming and Scripting

Help with passing parameters from a file

Hello Everyone, I have developed a shell script which takes schema id and password as parameter to login into database using sqlplus,runs a query and mails the result. My requirement is that, I dont want to pass userid and password as parameters.Instead,I want to pass say Environment... (4 Replies)
Discussion started by: karthik adiga
4 Replies
CRON(8) 						    BSD System Manager's Manual 						   CRON(8)

NAME
cron -- daemon to execute scheduled commands (ISC Cron V4.1) SYNOPSIS
cron [-n] [-x debugflags] DESCRIPTION
cron is normally started during system boot by rc.d(8) framework, if cron is switched on in rc.conf(5). It will return immediately so you don't have to start it with '&'. cron searches /var/cron/tabs for crontab files which are named after accounts in /etc/passwd. Crontabs found are loaded into memory. cron also searches for /etc/crontab which is in a different format (see crontab(5)). Finally cron looks for crontabs in /etc/cron.d if it exists, and executes each file as a crontab. When cron looks in a directory for crontabs (either in /var/cron/tabs or /etc/cron.d) it will not process files that: - Start with a '.' or a '#'. - End with a '~' or with ``.rpmsave'', ``.rpmorig'', or ``.rpmnew''. - Are of zero length. - Their length is greater than MAXNAMLEN. 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 executing 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). Events such as START and FINISH are recorded in the /var/log/cron log file with date and time details. This information is useful for a num- ber of reasons, such as determining the amount of time required to run a particular job. By default, root has an hourly job that rotates these log files with compression to preserve disk space. Additionally, cron checks each minute to see if its spool directory's modtime (or the modtime on /etc/crontab or /etc/cron.d) 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 when- ever a crontab file is modified. Note that the crontab(1) command updates the modtime of the spool directory whenever it changes a crontab. The following options are available: -x This flag turns on some debugging flags. debugflags is comma-separated list of debugging flags to turn on. If a flag is turned on, cron writes some additional debugging information to system log during its work. Available debugging flags are: sch scheduling proc process control pars parsing load database loading misc miscellaneous test test mode - do not actually execute any commands bit show how various bits are set (long) ext print extended debugging information -n Stay in the foreground and don't daemonize cron. 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. 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. Natu- rally this is not relevant if cron was built to use syslog(3). FILES
/var/cron/tabs cron spool directory /etc/crontab system crontab file /etc/cron.d/ system crontab directory /var/log/cron log file for cron events SEE ALSO
crontab(1), crontab(5) AUTHORS
Paul Vixie <vixie@isc.org> BSD
October 12, 2011 BSD
All times are GMT -4. The time now is 01:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy