Sponsored Content
Full Discussion: Log checking script
Top Forums Shell Programming and Scripting Log checking script Post 303045898 by RudiC on Friday 17th of April 2020 01:08:03 PM
Old 04-17-2020
grep can scan multiple files in one go, so it is fine to present it the expanded LOG variable, but, as the directory is missing for the second and third entries, "files are not found". There are several options to cure that:
a) use an array for LOG, and shell's "parameter expansion / pattern substitution":
Code:
LOG=(pdb.lg psmseis.lg psyseis.lg)
echo ${LOG[@]/#/${LOGDIR}/}

b) Use a for loop across the files, but don't forget the directory here as well.
c) cat all three files into grep (which will lose the filename output)


You seem to be a for loop enthusiast. Be aware that there may be good reasons to run one instance of grep for every single keyword in the LIST, but you have to sacrifice quite some performance in order to do so. How about some optimisation? Try adding colour=always to highlight the respective matched keyword:


Code:
$ cat << EOF >REPORT_NAME

----------------------------------------------------------------------------
SEARCH PATTERN = ${LIST}
----------------------------------------------------------------------------
EOF
$ echo "$LIST" | grep -f- --colour=always  ${LOG[@]/#/${LOGDIR}/} >>REPORT_NAME

And, mail programs usually take (comma separated?) user lists immediately:
Code:
$ USERLIST="user1,user2,user3"$ echo -e "${MESSAGE}" | mailx -s "${SUBJECT}" ${USERLIST}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

checking for script errors

ok, i have a script which i use to search my process' for specific keywords and kill any process containing them. there is a prompt to enter a keyword for searching and another prompt for which user you want to search the process' of. i want the script to have something that if you entered a search... (1 Reply)
Discussion started by: Blip
1 Replies

2. Shell Programming and Scripting

log file checking

Hi, I want to write a script which will count the occurence of several different strings in a log file? Can anyone help me with this? Thanks in advance! (1 Reply)
Discussion started by: mpang_
1 Replies

3. Shell Programming and Scripting

checking size of the first line in a log file

Hi My test.log file looks like this: 0 190_GSTV_HUX_003QISCGSK026_error070322_115331917.log 34 190_GSTV_HUX_003QISCGSK026_error070117_151311385.log 12 190_GSTV_HUX_003QISCGSK026_error070117_151230001.log 2 190_GSTV_HUX_003QISCGSK026_error070117_101010001.log 0... (19 Replies)
Discussion started by: kiran1112
19 Replies

4. Shell Programming and Scripting

Checking the directory and concatenate the data of all the log files in that dir

Hi Gurus, I am new to unix and need your help to make a shell script. I have a requirement, would appreciate if you could please help me on it: Requirement: ------------- I will pass 2 parameters in shell script 1). Directory name say errors 2). file extension say .log First of all this... (4 Replies)
Discussion started by: anshulinpc
4 Replies

5. Shell Programming and Scripting

Script for checking yesterday's log

Hi, Have to check log file for yesterday, I have tried this script, but it is showing error as -d illegal option. res=max_total`date -d'yesterday'+%y%m%d`.log res=max_total`date +%y%m%d`.log this is working fine for today. Please help me on this. Thanks in advance, Neha. (3 Replies)
Discussion started by: NehaKrish
3 Replies

6. Shell Programming and Scripting

File checking script need help

Hi, Gurus, I need a scripts to check specified file if it exists or not at certain time (say every month between 5th and 7th). if file exists do something otherwise do another thing. can anybody help this? Thanks in advance :wall: (3 Replies)
Discussion started by: ken002
3 Replies

7. Shell Programming and Scripting

Help with database checking script

I haven't coded in ksh in forever and this script is proving me not a great coder. I keep getting unexpected end of file when I try to execute this...Line 94 is the last line of the code.. #!/usr/bin/ksh . /home/oraprod/.bash_profile DBSID=prod # Database sid CONNECTSTR=apps/xxxxxxxx@prod #... (6 Replies)
Discussion started by: kirkladb
6 Replies

8. Shell Programming and Scripting

Checking postfix mail log with AWK

Hello, Few days ago I found a person checking his mail log by AWK. But unfortunately I forget to take the command from him. Today I got to need that command badly. Here is a reference. When I check from my mail log like this it will not show me the details. grep "from=<noreply@panix.com>"... (2 Replies)
Discussion started by: rinti
2 Replies

9. Shell Programming and Scripting

Shell Script for continuously checking status of a another script running in background, and immedia

Hi, I want to write a script which continuously checking status of a script running in background by nohup command. And if same script is not running then immediately start the script...please help.. i am using below command to run script nohup system_traps.sh & but in some... (9 Replies)
Discussion started by: ketanraut
9 Replies

10. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies
DGLOB(1)						   Debian-goodies documentation 						  DGLOB(1)

NAME
dglob - Expand package names or files matching a pattern SYNOPSIS
dglob [-a] pattern dglob [-0] -f pattern DESCRIPTION
dglob lists packages names matching a pattern. It can also list all the files they contain. By default dglob only searches installed packages; the -a switch widens the search (see "OPTIONS"). The list is written to stdout, one name per line. grep-dctrl(1) and grep-aptavail(1) are used to search the list of packages, so you should refer to its documentation for information on how patterns are matched. By default, all packages whose name contains the given string will be matched, but several options are available to modify this behavior (see "OPTIONS"). If you use dglob with the -f option, all files in the matched packages are listed instead of their names. If you do not use de -a switch, only existing, plain (i.e. no symlinks, directories or other special ones) files are listed. If the -a switch is use then all files will be listed both for installed and non-installed packages. The filenames are written to stdout, one file per line. You can use the -0 option to get the filenames separated by '' instead of a newline. OPTIONS
dglob supports the following options: -a Search through all available packages, not just installed ones. If set, grep-aptavail(1) is used. -f List all files in the matched packages. By default, this lists only installed (i.e. locally existing) files from installed packages. If used together with -a then it will list all files both of installed and non-installed packages by mean of apt-file(1). If apt-file is not installed, using -f together with -a is rather pointless. -0 When listing files (with -f) use '' as a separator instead of a newline. When specified without -f, this options does nothing. -r, -e, -i, -X, -v These options are passed directly to grep-dctrl(1) or to grep-aptavail(1) to modify how the pattern is matched. See grep-dctrl(1). FILES
/var/lib/dpkg/status dpkg(8) status file, which serves as source for the list of available and installed packages. AUTHOR
Matt Zimmerman <mdz@debian.org> This manpage was written by Frank Lichtenheld <frank@lichtenheld.de>, and further enhanced by Javier Fernandez-Sanguino <jfs@debian.org>. COPYRIGHT AND LICENCE
Copyright (C) 2001 Matt Zimmerman <mdz@debian.org>. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. On Debian systems, a copy of the GNU General Public License may be found in /usr/share/common-licenses/GPL. SEE ALSO
grep-dctrl(1), grep-available(1), apt-file(1), dpkg(8) perl v5.14.2 2012-03-21 DGLOB(1)
All times are GMT -4. The time now is 04:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy