Unix/Linux Go Back    


Shell Programming and Scripting BSD, Linux, and UNIX shell scripting — Post awk, bash, csh, ksh, perl, php, python, sed, sh, shell scripts, and other shell scripting languages questions here.

Unix Horror story script question

Shell Programming and Scripting


Tags
shell script, shell scripting, unix commands, unix scripting, unix scripting basics

Closed    
 
Thread Tools Search this Thread Display Modes
    #1  
Old Unix and Linux 11-24-2008   -   Original Discussion by scottsiddharth
scottsiddharth's Unix or Linux Image
scottsiddharth scottsiddharth is offline
Registered User
 
Join Date: Nov 2008
Last Activity: 25 November 2008, 11:47 PM EST
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Unix or Linux Question Unix Horror story script question

This text and script is borrowed from the "Unix Horror Stories" document.

It states as follows

"""""Management told us to email a security notice to every user on the our system (at that time, around 3000 users). A certain novice administrator on our system wanted to do it, so I instructed them to extract a list of users from /etc/passwd, write a simple shell loop to do the job, and throw it in the background.
Here's what they wrote (bourne shell)...

for USER in `cat user.list`;
do mail $USER <message.text &
done

Have you ever seen a load average of over 300 ??? """" END

My question is this- What is wrong with the script above? Why did it find a place in the Horror stories? It worked well when I tried it.

Maybe he intended to throw the whole script in the background and not just the Mail part. But even so it works just as well... So?
Sponsored Links
    #2  
Old Unix and Linux 11-24-2008   -   Original Discussion by scottsiddharth
Thunderbolt's Unix or Linux Image
Thunderbolt Thunderbolt is offline
Registered User
 
Join Date: Sep 2006
Last Activity: 24 November 2008, 5:53 AM EST
Location: New Delhi - India
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
RE:Unix Horror story script question

I think, it does well deserve to be placed Horror stories.
Consider the given server for with or without SMTP service role, this script tries to process 3000 mail commands in parallel to send the text to it's 3000 repective receipents.

Have you ever tried with valid 3000 e-mail IDs, you can feel the heat of CPU(sar 1 100)

P.S.: I did not tested it but theoritically affirmed.

Best Regards.
Sponsored Links
    #3  
Old Unix and Linux 11-24-2008   -   Original Discussion by scottsiddharth
scottsiddharth's Unix or Linux Image
scottsiddharth scottsiddharth is offline
Registered User
 
Join Date: Nov 2008
Last Activity: 25 November 2008, 11:47 PM EST
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Thank you for the reply. But isn't that exactly what the real admin asked the novice admin to do.

Is there a better script or solution ?
    #4  
Old Unix and Linux 11-24-2008   -   Original Discussion by scottsiddharth
Thunderbolt's Unix or Linux Image
Thunderbolt Thunderbolt is offline
Registered User
 
Join Date: Sep 2006
Last Activity: 24 November 2008, 5:53 AM EST
Location: New Delhi - India
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by scottsiddharth View Post
Thank you for the reply. But isn't that exactly what the real admin asked the novice admin to do.

Is there a better script or solution ?
Well, Let me try to make it sequential to reduce the CPU load, but it will take no. of users*SLP_INT(default=1) seconds to execute....


#Interval between concurrent mail commands excution in seconds, minimum 1 second.
SLP_INT=1
for USER in `cat user.list`;
do; mail $USER <message.text; [ -z "${SLP_INT}" ] && sleep 1 || sleep ${SLP_INT}" ;
done
Sponsored Links
    #5  
Old Unix and Linux 11-24-2008   -   Original Discussion by scottsiddharth
Perderabo's Unix or Linux Image
Perderabo Perderabo is offline Forum Advisor  
Unix Daemon (Administrator Emeritus)
 
Join Date: Aug 2001
Last Activity: 26 February 2016, 12:31 PM EST
Location: Ashburn, Virginia
Posts: 9,930
Thanks: 63
Thanked 473 Times in 272 Posts
Think how you would do the following task manually: send the same message to moe, larry, and curly. Now, do you really send 3 email messages? Or do you send a single email with 3 recipients?
Sponsored Links
    #6  
Old Unix and Linux 11-25-2008   -   Original Discussion by scottsiddharth
scottsiddharth's Unix or Linux Image
scottsiddharth scottsiddharth is offline
Registered User
 
Join Date: Nov 2008
Last Activity: 25 November 2008, 11:47 PM EST
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Linux Nice and simple explanation. I assumed that the script was looping. Thank you Thunderbolt and Perderabo.
Sponsored Links
Closed

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Linux More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Unix Shell Script question GosarJunk Shell Programming and Scripting 8 02-29-2012 06:19 PM
New Unix user with shell script question using grep dtracy01 Shell Programming and Scripting 2 05-18-2011 05:17 PM
Unix Script - Changing Variable Question iamhungry Homework & Coursework Questions 1 10-25-2010 08:24 PM
Unix Script Question kencheck UNIX for Dummies Questions & Answers 2 02-15-2008 01:52 AM
The Whole Story on #! /usr/bin/ksh Perderabo Tips and Tutorials 3 04-01-2007 12:00 AM



All times are GMT -4. The time now is 04:16 AM.