Sponsored Content
Top Forums Shell Programming and Scripting grep'ing a file until a certain message appears Post 302196732 by pallak7 on Monday 19th of May 2008 09:27:15 AM
Old 05-19-2008
grep'ing a file until a certain message appears

Hello,

I'm writing a script that will automate the launch of some services on my AIX machine. However, some services are dependent on the successful startup of others. When I start these services manually, I usually just check a log file until I see a message that confirms a successful startup. So, I figure I can integrate this into my script but I'm not sure what the best way to do it is. I was thinking something like this:
Code:
while [ `tail -f /path/to/log/file | grep "PATTERN"` -ne "0" ]; do
done

but that seems cumbersome for the system (not to mention the fact that I don't think it's working). What would be the best approach here? Thanks for your help.

By the way, I'm using the Korn shell.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

grep'ing for text within a bunch of files...?

I have, say, a dozen files, and I want to grep for a string of text within them. I don't remember the exact syntax, but let me give it a shot and show you an idea here... find . -type f -exec grep thisword {} \; ...and there's a way to put more than one grep into the statement, so it will tell... (1 Reply)
Discussion started by: kitykity
1 Replies

2. Shell Programming and Scripting

grep'ing for specific directories, and using the output to move files

Hello, this is probably another really simple tasks for most of you gurus, however I am trying to make a script which takes an input, greps a specific file for that input, prints back to screen the results (which are directory names) and then be able to use the directory names to move files.... (1 Reply)
Discussion started by: JayC89
1 Replies

3. Shell Programming and Scripting

grep'ing and sed'ing chunks in bash... need help on speeding up a log parser.

I have a file that is 20 - 80+ MB in size that is a certain type of log file. It logs one of our processes and this process is multi-threaded. Therefore the log file is kind of a mess. Here's an example: The logfile looks like: "DATE TIME - THREAD ID - Details", and a new file is created... (4 Replies)
Discussion started by: elinenbe
4 Replies

4. Shell Programming and Scripting

pipe'ing grep output to awk

This script is supposed to find out if tomcat is running or not. #!/bin/sh if netstat -a | grep `grep ${1}: /tomcat/bases | awk -F: '{print $3}'` > /dev/null then echo Tomcat for $1 running else echo Tomcat for $1 NOT running fi the /tomcat/bases is a file that... (2 Replies)
Discussion started by: ziggy25
2 Replies

5. Shell Programming and Scripting

grep'ing a variable that contains a metacharacter ($) with a while loop

This is driving me crazy, and I'm hoping someone can help me out with this. I'm trying to do a simple while loop to go through a log file. I'm pulling out all of the lines with a specific log line, getting an ID from that line, and once I have a list of IDs I want to loop back through the log and... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

6. Shell Programming and Scripting

Severe performance issue while 'grep'ing on large volume of data

Background ------------- The Unix flavor can be any amongst Solaris, AIX, HP-UX and Linux. I have below 2 flat files. File-1 ------ Contains 50,000 rows with 2 fields in each row, separated by pipe. Row structure is like Object_Id|Object_Name, as following: 111|XXX 222|YYY 333|ZZZ ... (6 Replies)
Discussion started by: Souvik
6 Replies

7. Shell Programming and Scripting

grep'ing dot history file

Hi, I tried to grep ".sh_history" (DOTsh_history) file and did not return anything though I found the word in .sh _history file through vi editor in Linux. Then I tried to grep ".profile" to check if it is the prob with hidden files and I got results. Then I verified the same with my friend... (4 Replies)
Discussion started by: bobbygsk
4 Replies

8. Shell Programming and Scripting

Grep'ing information from a log file on SUN OS 5

Hi Guys, I'm trying to write an script that will be launched by a user. The script will look at a log file and check for alerts with the date (supplied by user) and a machine's hostname (also supplied by the user). I'm trying to get the output formatted just like the log file. The logfile looks... (5 Replies)
Discussion started by: illgetit
5 Replies

9. UNIX for Dummies Questions & Answers

grep'ing a variable - why not working

Hi all, Am writing a ksh script where I am looking for processes that has gone defunct and all of which has the same PPID PID is the variable that I need to match as this is the process ID of the processes that has gone defunct Am just curious how come the following DOES NOT work? ps... (6 Replies)
Discussion started by: newbie_01
6 Replies

10. UNIX for Dummies Questions & Answers

After Ftp'ing file to destination how to check the file if it is in correct ASCII and not corrupted

Hi Folks, While transferring file from FTP software like Filezilla the files gets corrupted. Is there any way I can check if the recently transferred file is in ASCII and not corrupted. I have tried using file -i filename command which does tell if the file character set is ASCII or binary... (6 Replies)
Discussion started by: Khan28
6 Replies
RC(8)							    BSD System Manager's Manual 						     RC(8)

NAME
rc, rc.local, rc.shutdown, rc.d/ -- startup and shutdown scripts SYNOPSIS
rc rc.local rc.shutdown rc.d/ DESCRIPTION
rc is the command script which controls the startup of various services, and is invoked by init(8) as part of the process of entering the automatic reboot to multi-user startup, or after the single user mode shell has exited. If init(8) is starting the automatic reboot process, rc is invoked with the argument of 'autoboot'. rc.local is a command script to which local boot-time actions can be added. It is (nearly) the last thing invoked by rc during a normal boot. rc.shutdown is the command script which shuts down various services, and is invoked by shutdown(8) as part of the process of shutting down the system. rc.d/ is the directory which contains various sh(1) scripts, one for each service, which are called by rc at startup, rc.shutdown at shut- down, and as necessary during system operation to stop, start, restart, reload, or otherwise control the service. Operation of rc 1. Source /etc/rc.subr to load various rc.subr(8) shell functions to use. 2. If autobooting, set autoboot=yes and enable a flag (rc_fast=yes), which prevents the rc.d scripts from performing the check for already running processes (thus speeding up the boot process). This rc_fast=yes speedup won't occur when rc is started up after exiting the single-user shell. 3. Invoke rcorder(8) to order the files in /etc/rc.d/ that do not have a ``nostart'' keyword (refer to rcorder(8)'s -s flag), and assigns the result to a variable. 4. Calls each script in turn using run_rc_script() (from rc.subr(8)), which sets $1 to 'start', and sources the script in a subshell. If the script has a '.sh' suffix then it is sourced directly into the current shell. 5. The output from the above steps is sent to a post-processor. If rc_silent is false, then the post-processor displays the output. If rc_silent is true, then the post-processor invokes the command specified in rc_silent_cmd once for each line, without otherwise display- ing the output. Useful values for rc_silent_cmd include ``:'' to display nothing at all, and ``twiddle'' to display a spinning symbol on the console. Regardless of the value of rc_silent, the post-processor saves the output in /var/run/rc.log. Operation of rc.shutdown 1. Source /etc/rc.subr to load various rc.subr(8) shell functions to use. 2. Invoke rcorder(8) to order the files in /etc/rc.d/ that have a ``shutdown'' keyword (refer to rcorder(8)'s -k flag), reverses that order, and assigns the result to a variable. 3. Calls each script in turn using run_rc_script() (from rc.subr(8)), which sets $1 to 'stop', and sources the script in a subshell. If the script has a '.sh' suffix then it is sourced directly into the current shell. Contents of rc.d/ rc.d/ is located in /etc/rc.d. The following file naming conventions are currently used in rc.d/: ALLUPPERCASE Scripts that are 'placeholders' to ensure that certain operations are performed before others. In order of startup, these are: NETWORKING Ensure basic network services are running, including general network configuration (network) and dhclient. SERVERS Ensure basic services (such as NETWORKING, ppp, syslogd, and kdc) exist for services that start early (such as named), because they're required by DAEMON below. DAEMON Before all general purpose daemons such as dhcpd, lpd, and ntpd. LOGIN Before user login services (inetd, telnetd, rshd, sshd, and xdm), as well as before services which might run commands as users (cron, postfix, and sendmail). foo.sh Scripts that are to be sourced into the current shell rather than a subshell have a '.sh' suffix. Extreme care must be taken in using this, as the startup sequence will terminate if the script does. /etc/rc.d/bootconf.sh uses this behav- iour to allow the user to select a different configuration (including /etc/rc.conf) early in the boot. bar Scripts that are sourced in a subshell. The boot does not stop if such a script terminates with a non-zero status, but a script can stop the boot if necessary by invoking the stop_boot() function (from rc.subr(8)). Each script should contain rcorder(8) keywords, especially an appropriate ``PROVIDE'' entry. The scripts are expected to support at least the following arguments: start Start the service. This should check that the service is to be started as specified by rc.conf(5). Also checks if the ser- vice is already running and refuses to start if it is. This latter check is not performed by standard NetBSD scripts if the system is starting directly to multi-user mode, to speed up the boot process. stop If the service is to be started as specified by rc.conf(5), stop the service. This should check that the service is running and complain if it's not. restart Perform a stop then a start. status If the script starts a process (rather than performing a one-off operation), show the status of the process. Otherwise it's not necessary to support this argument. Defaults to displaying the process ID of the program (if running). poll If the script starts a process (rather than performing a one-off operation), wait for the command to exit. Otherwise it's not necessary to support this argument. rcvar Display which rc.conf(5) variables are used to control the startup of the service (if any). Other arguments (such as 'reload', 'dumpdb', etc) can be added if necessary. The argument may have one of the following prefixes to alter its operation: fast Skip the check for an existing running process. Sets rc_fast=yes. force Skips the rc.conf(5) check, ignores a failure result from any of the prerequisite checks, executes the command, and always returns a zero exit status. Sets rc_force=yes. one Skips the rc.conf(5) check, but performs all other prerequisite tests. In order to simplify scripts, the run_rc_command() function from rc.subr(8) may be used. FILES
/etc/rc Startup script called by init(8). /etc/rc.d/ Directory containing control scripts for each service. /etc/rc.local Local startup script. /etc/rc.shutdown Shutdown script called by shutdown(8). /etc/rc.subr Contains rc.subr(8) functions used by various scripts. /etc/rc.conf System startup configuration file. /var/run/rc.log Log file created by rc. SEE ALSO
rc.conf(5), init(8), rc.subr(8), rcorder(8), reboot(8), shutdown(8) Luke Mewburn, "The Design and Implementation of the NetBSD rc.d system", Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, USENIX Association, http://www.usenix.org/publications/library/proceedings/usenix01/freenix01/full_papers/mewburn/mewburn.pdf, June 25-30, 2001. HISTORY
The rc command appeared in 4.0BSD. The /etc/rc.d support was implemented in NetBSD 1.5 by Luke Mewburn <lukem@NetBSD.org>. The post-proces- sor, support for rc_silent, and saving output to a file, was implemented in NetBSD 6.0 by Alan Barrett. BSD
May 14, 2010 BSD
All times are GMT -4. The time now is 01:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy