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
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 launchd(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. 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
/System/Library/LaunchDaemons/com.apple.periodic-*.plist the periodic utility is typically called via these launchd(8) jobs /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 /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), periodic.conf(5), launchd(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 08:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy