Sponsored Content
Top Forums Shell Programming and Scripting Ksh script - Design ? - Search file and set variables Post 302138824 by littlefrog on Wednesday 3rd of October 2007 02:23:56 PM
Old 10-03-2007
Ksh script - Design ? - Search file and set variables

Hi -

I'm trying to think of a clever way to write a shell script (trying to stay w/ ksh as that's what I know the best...) that will resolve the following problem:

Problem - On a daily basis I have to email folks who are on-call to remind them. I was hoping to script this out so I could have a file w/ a pattern similiar to:

fileX -
Oct 3:jerry:mark
Oct 4:tim:stan

fileY - jerry:jerry@foo.com
mark:mark@foo.com
tim:tim@foo.com
peter:stan@foo.com

My first idea is to have the script
Set a varaible for the date using something like - 'date |nawk '{print $2 &3}'
Grep fileX searching for date variable - then set variableA with the first name and variableB with the second name for that date - not sure how to do this
Then take variableA and look for a match in fileY - This will set another varialbe - variableZ
Finally, run a mailto command using varialbe Z

Take this script and add it to cron to run daily.

If it's easier, rather than using their names in the file, I can set it up w/ their email addresses - that shouldn't be too much extra work to do.

Any suggestions are greatly appreciated.

Regards,
littlefrog
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing a variables value from the called script to calling script using ksh

How do i get the value of the variable from the called script(script2) to the calling script(script1) in ksh ? I've given portion of the script here to explain the problem. Portion of Script 1 ============= ----- ----- tmp=`a.ksh p1 p2 p3` if then # error processing fi -----... (10 Replies)
Discussion started by: rajarkumar
10 Replies

2. Shell Programming and Scripting

KSH script eval(?) to set variable

first of all, thanks to all on this board, it has been a huge resource to answer most of my questions! I am stuck on something that should really be simple, and was looking for some help.. I am using KSH on solaris and working on a script to move containers from server to server. Where i am... (4 Replies)
Discussion started by: tksol
4 Replies

3. Shell Programming and Scripting

Unable to set variables in Linux script

Hi, I am pretty new in writing shell script on LINUX, I tried to write the script just like KSH on HP unix but it seems nothing is working. Even assigning variables seems to be not working as KSH on HP unix. Please help in resolving the issues I am facing on LINUX. I have declared variables for... (5 Replies)
Discussion started by: smr.ryl
5 Replies

4. Shell Programming and Scripting

Set variables from file, then loop

Hello, I am very, very new to shell scripting, but what I'm attempting to do is read in a list of user ID's to create on a database system from a CSV flat file, and for each entry run the "create user" script. I've gotten pretty far but I'm having trouble with the looping mechanism.... Any... (8 Replies)
Discussion started by: jkarren
8 Replies

5. Shell Programming and Scripting

set ksh script in restricted mode

Hi, I came across a post wherein you can use "set -r"(on bash) to activate restricted mode ( wherein you cant run some commands such as cd etc). Can anyone guide if we have anything similar in ksh ? Thanks (2 Replies)
Discussion started by: Shivdatta
2 Replies

6. Shell Programming and Scripting

Help needed with shell script to search and replace a set of strings among the set of files

Hi, I am looking for a shell script which serves the below purpose. Please find below the algorithm for the same and any help on this would be highly appreciated. 1)set of strings need to be replaced among set of files(directory may contain different types of files) 2)It should search for... (10 Replies)
Discussion started by: Amulya
10 Replies

7. Shell Programming and Scripting

Assigning multiple variables in ksh script

Is it possible to have a user input multiple words in one line and have the script assign each word a variable? I'm stuck please assist. Example using "BILL JOHN SARA JILL" as what the user could type: printf "Enter account names: " BILL JOHN SARA JILL read input (9 Replies)
Discussion started by: seekryts15
9 Replies

8. Programming

[LUA] Set variables according to if file exists

Heya I'm using Awesome WM with the Vicious widget library. As i'm using multi boot, Win8, Fedora and Arch, i have my WM-Config shared accross my GNU/Linux installations. The regarding snippet: -- Functions -- Its just a workaround for an 'unstable' 'hwmon/hwmon' definition of Fedora21 -... (0 Replies)
Discussion started by: sea
0 Replies

9. Shell Programming and Scripting

<< Environmental Variables are not set when script completes >>

Hi Team, I have a wrapper script which i have pasted below, it internally calls one python script to generate Environmental in a file called /home/oracle/myenv.sh, when i execute this script via wrapper script, its not reflecting in my current session, still showing old env variables. any... (2 Replies)
Discussion started by: kamauv234
2 Replies
PERIODIC(8)						    BSD System Manager's Manual 					       PERIODIC(8)

NAME
periodic -- run periodic system functions SYNOPSIS
periodic directory ... DESCRIPTION
The periodic utility is intended to be called by cron(8) to execute shell scripts located in the specified directory. One or more of the following arguments must be specified: daily Perform the standard daily periodic executable run. This usually occurs early in the morning (local time). weekly Perform the standard weekly periodic executable run. This usually occurs very early on Saturday mornings. monthly Perform the standard monthly periodic executable run. This usually occurs on the first day of the month. security Perform the standard daily security checks. This is usually spawned by the daily run. path An arbitrary directory containing a set of executables to be run. If an argument is an absolute directory name it is used as is, otherwise it is searched for under /etc/periodic and any other directories specified by the local_periodic setting in periodic.conf(5) (see below). The periodic utility will run each executable file in the directory or directories specified. If a file does not have the executable bit set, it is silently ignored. Each script is required to exit with one of the following values: 0 The script has produced nothing notable in its output. The <basedir>_show_success variable controls the masking of this output. 1 The script has produced some notable information in its output. The <basedir>_show_info variable controls the masking of this output. 2 The script has produced some warnings due to invalid configuration settings. The <basedir>_show_badconfig variable controls the mask- ing of this output. >2 The script has produced output that must not be masked. If the relevant variable (where <basedir> is the base directory in which the script resides) is set to ``NO'' in periodic.conf, periodic will mask the script output. If the variable is not set to either ``YES'' or ``NO'', it will be given a default value as described in periodic.conf(5). All remaining script output is delivered based on the value of the <basedir>_output setting. If this is set to a path name (beginning with a '/' character), output is simply logged to that file. newsyslog(8) knows about the files /var/log/daily.log, /var/log/weekly.log and /var/log/monthly.log, and if they exist, it will rotate them at the appropriate times. These are therefore good values if you wish to log periodic output. If the <basedir>_output value does not begin with a '/' and is not empty, it is assumed to contain a list of email addresses, and the output is mailed to them. If <basedir>_show_empty_output is set to ``NO'', then no mail will be sent if the output was empty. If <basedir>_output is not set or is empty, output is sent to standard output. ENVIRONMENT
The periodic utility sets the PATH environment to include all standard system directories, but no additional directories, such as /usr/local/bin. If executables are added which depend upon other path components, each executable must be responsible for configuring its own appropriate environment. FILES
/etc/crontab the periodic utility is typically called via entries in the system default cron(8) table /etc/periodic the top level directory containing daily, weekly, and monthly subdirectories which contain standard system peri- odic executables /etc/defaults/periodic.conf the periodic.conf system registry contains variables that control the behaviour of periodic and the standard daily, weekly, and monthly scripts /etc/periodic.conf this file contains local overrides for the default periodic configuration EXIT STATUS
Exit status is 0 on success and 1 if the command fails. EXAMPLES
The system crontab should have entries for periodic similar to the following example: # do daily/weekly/monthly maintenance 0 2 * * * root periodic daily 0 3 * * 6 root periodic weekly 0 5 1 * * root periodic monthly The /etc/defaults/periodic.conf system registry will typically have a local_periodic variable reading: local_periodic="/usr/local/etc/periodic" To log periodic output instead of receiving it as email, add the following lines to /etc/periodic.conf: daily_output=/var/log/daily.log weekly_output=/var/log/weekly.log monthly_output=/var/log/monthly.log To only see important information from daily periodic jobs, add the following lines to /etc/periodic.conf: daily_show_success=NO daily_show_info=NO daily_show_badconfig=NO DIAGNOSTICS
The command may fail for one of the following reasons: usage: periodic <directory of files to execute> No directory path argument was passed to periodic to specify where the script fragments reside. <directory> not found Self explanatory. SEE ALSO
sh(1), crontab(5), periodic.conf(5), cron(8), newsyslog(8) HISTORY
The periodic utility first appeared in FreeBSD 3.0. AUTHORS
Paul Traina <pst@FreeBSD.org> Brian Somers <brian@Awfulhak.org> BUGS
Since one specifies information about a directory using shell variables containing the string, <basedir>, <basedir> must only contain charac- ters that are valid within a sh(1) variable name, alphanumerics and underscores, and the first character may not be numeric. BSD
August 30, 2007 BSD
All times are GMT -4. The time now is 02:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy