Sponsored Content
Top Forums Shell Programming and Scripting To reduce the bash script length!!! Post 302506286 by ctsgnb on Saturday 19th of March 2011 06:55:18 PM
Old 03-19-2011
Inspired from Danero's code with some modif (ksh + building a parameter file + adding function _get_param ) i didn't try it so it may requires some little adaptation or fix.

Code:
#!/usr/bin/ksh

PARAMFILE=status.cfg

cat <<-EOF >$PARAMFILE
200:okay:M
201:created
202:Accepted
203:Non-Authoritative Information
204:No Content
205:Reset Content
206:Partial Content
207:Multi-Status
226:IM Used
300:Multiple choices
301:Moved Permanently
302:found
303:See Other
304:Not Modified
305:Use Proxy
306:UnUsed
307:Temporary Redirect
400:Bad Request:M
401:Unauthorized:M
402:Payment Required:M
403:Forbidden:M
404:Page Not Found:M
405:Method Not Allowed :M
406:Not Acceptable:M
407:Proxy Authentication Required:M
408:Request Timeout:M
409:Conflict:M
410:Gone:M
411:Length Required:M
412:Precondition Failed:M
413:Request Entity Too Large:M
414:Request-URI Too Long:M
415:Unsupported Media Type :M
416:Requested Range Not Satisfiable:M
417:Expectation Failed:M
422:Unprocessable Entity:M
423:Locked:M
424:Failed Dependency:M
425:Unordered Collection:M
426:Upgrade Required:M
444:No Response:M
449:Retry With:M
450:Blocked by Windows Parental Controls:M
499:Client Closed Request:M
500:Internal Server Error:M
501:Not Implemented:M
502:Bad Gateway:M
503:Service Unavailable:M
504:Gateway Timeout:M
505:HTTP Version Not Supported:M
506:Variant Also Negotiates:M
507:Insufficient Storage:M
509:Bandwidth Limit Exceeded:M
510:Not Extended:M
EOF

echo "BP "
STA=
ML=
MSG=
_get_param(){
        awk -F: -v c="$1" '$0~c{print $1,($3=="M")?Y:N,$2}' $PARAMFILE | read STA ML MSG
}

timevar=$(date +%d-%m-%Y_%H.%M.%S) #—– > Storing Date and Time in a Variable
get_contents=`cat ./urls.txt`  #—- > Getting content of website from  file. Note the file should not contain any http:// as its already been  taken care of
######### Next Section Does all the processing #########
_echo(){
        echo $1 $2 $3 $4  >> /log.txt
}
_mail(){
        echo "Status $1 found" | mail -s "Check of $2 failed" 07anis@gmail.com
}

for i in $get_contents
do
statuscode=`curl –connect-timeout 30 -w “totaltime:%{time_total}\n” -s  -I -L http://$i | awk '{for(i = 1; i<=NF; i++)  if($i=="“totaltime:0.000n”“totaltime:0.000n”HTTP/1.1") print $(i+1);}'`

_get_param $statuscode
_echo $timevar $i $statuscode $MSG
[[ $ML == Y ]] && _mail $statuscode $i

done
rm $PARAMFILE

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to reduce a length in a file?

i want to reduce a length in the file called text in the file im having 10 byte length. want to reduce it to 9 byte length for all lines. (5 Replies)
Discussion started by: laknar
5 Replies

2. Shell Programming and Scripting

need inputs on how i can change my script to reduce amount of time the script takes

HI , I have a list1 which consists of data that i have to search and a list2 which has the files that need to be searched .So basically i am using list1 on list2 to see if list1 data is present if found replace it .I have written the code using foreach loop for each list .This is taking the... (1 Reply)
Discussion started by: madhul2002
1 Replies

3. Shell Programming and Scripting

How to reduce the length of records in a file?

I have a file with 400 characters How can I create another file with only a portion of them (like 300 within 400) and get rid of the rest? Thanks (5 Replies)
Discussion started by: fafchi
5 Replies

4. Shell Programming and Scripting

How to make bash wrapper for java/groovy program with variable length arguments lists?

The following bash script does not work because the java/groovy code always thinks there are four arguments even if there are only 1 or 2. As you can see from my hideous backslashes, I am using cygwin bash on windows. export... (1 Reply)
Discussion started by: siegfried
1 Replies

5. Shell Programming and Scripting

Automation script to reduce the installation time

DELETED. (0 Replies)
Discussion started by: vasuvv
0 Replies

6. Shell Programming and Scripting

Reduce the number of lines in script

Hello All, I have created a script which will show the errors from a log file in between a particular section. v1=$(sed -n "/Main Report/,/Main Report End/p" input | grep -i 'Unable to find' v2=$(sed -n "/Main Report/,/Main Report End/p" input | grep -i 'Unable to add' if then echo... (5 Replies)
Discussion started by: Vikram_Tanwar12
5 Replies

7. Shell Programming and Scripting

Bash - delete from csv all the row if the first column is length >

Hi guys, i have a csv file like: USERID;COG;DESCR;FIL;OFF user001;user;test1;001;A01 user002;user;test2;002;A02 user0003;user;test3;003;A03 user004;user;test4;004;A04 user0005;user;test5;005;A05 etc.. I need to read line for line and, if value of first column is > 7 char (in this example... (4 Replies)
Discussion started by: kamose
4 Replies

8. Shell Programming and Scripting

Optimizing script to reduce execution time

AFILENAME=glow.sh FILENAME="/${AFILENAME}" WIDTHA=$(echo ${FILENAME} | wc -c) NTIME=0 RESULTS=$(for eachletter in $(echo ${FILENAME} | fold -w 1) do WIDTHTIMES=$(awk "BEGIN{printf... (5 Replies)
Discussion started by: SkySmart
5 Replies

9. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies
uudemon(4)						     Kernel Interfaces Manual							uudemon(4)

NAME
uudemon.admin, uudemon.cleanu, uudemon.hour, uudemon.poll - Administrative shell scripts for polling remote systems, cleaning up spool directories, reporting status to the system administrator, and routine invocations of the uuxqt and uusched daemons SYNOPSIS
These shell scripts reside in the following directory: /usr/lib/uucp DESCRIPTION
All the scripts can be run from the command line or can be run automatically by the cron daemon. To automatically run the scripts, remove the comment character (#) from the beginning of the relevant line in the /var/spool/cron/crontabs/uucp file. This script reports status to the system administrator. It issues the uustat command to find out the status of uucp jobs. It mails the results to the uucp login ID. The script may be modified to send mail to any login ID such as the uucp administrative login ID (uucpa) or root. This script cleans up the /var/spool/uucp and /var/spool/uucppublic directories by running the uucleanup command. The uucleanup com- mand is run with the following parameters: -C7, -D7, X2, -o2, -W1. This script runs the uusched and uuxqt daemons in the background. This script polls the systems listed in the /usr/lib/uucp/Poll file. The uudemon.poll script should be scheduled before the uudemon.hour script. This allows uudemon.poll to create any command files before cron runs the uudemon.hour script. FILES
Contains the uudemon.admin, uudemon.cleanu, uudemon.hour and uudemon.poll files. Contains the uucp file. RELATED INFORMATION
Commands: cron(8), uucleanup(8), uusched(8), uuxqt(1) Files: /usr/lib/uucp delim off uudemon(4)
All times are GMT -4. The time now is 02:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy