Sponsored Content
Top Forums Shell Programming and Scripting Mail sent from variable is not aligned in shell script Post 302997139 by viay on Monday 8th of May 2017 12:55:07 PM
Old 05-08-2017
Linux Mail sent from variable is not aligned in shell script

Hi Folks Smilie

Scenario,

Compared two values in two different files, if file1 value is greater than the value of file2 it trigger mail,


I tried this,

Code:
echo ${usep[@]};
echo ${usep1[@]};
for i in ${!usep[@]}; do
        if [ ${usep[$i]} -gt 80 ]; then
                if [ ${usep[$i]} -gt ${usep1[$i]} ]; then
                        tmp=$(echo "Running out of space \" ${usep[$i]}\" on $(hostname) as on $(date)");
                        alertlist="$tmp";
                        echo $alertlist;
                        echo "$alertlist" | mail -s "$ORACLE_SID ALERT:  Running out of space" $maillist;
                fi
        fi
done

The issue is,

when I try

Code:
alertlist+="$tmp";

Running out of space "/u01 (99%)"
Running out of space "/u01 (99%)" Running out of space "/u02 (96%)"
Running out of space "/u01 (99%)" Running out of space "/u02 (96%)" Running out of space "/u03 (90%)"

It append the values in variable, and sent the mail entirely in a single line.

Meanwhile when I try

Code:
alertlist="$tmp";

Running out of space "/u01 (99%)"
Running out of space "/u02 (96%)"
Running out of space "/u03 (90%)"

it looks good but it sent the mail for each mount point separately, which I receive individually 3 times.


I need to receive a mail which all mount point contain above 80 in single mail.
How can I do that?

Last edited by vgersh99; 05-08-2017 at 01:57 PM.. Reason: code tags, please!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shell script to send a mail

Hi, I need a shell script which runs in the backround for all the 24 hours and send a mail to us regarding the output of the prstat command when the load average increase above certain percent. kindly help me on this...... (1 Reply)
Discussion started by: jayaramanit
1 Replies

2. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

3. Shell Programming and Scripting

Mail shell script

Hi All, I want to send mail to multiple users.. Currently I am using below script cat $STATUS_FILE|mailx -s "$SUBJECT" -r xxx@yyy.com $MAILTO How can i give cc or bcc to in this script Please help me thanks in advance Regards RG (3 Replies)
Discussion started by: rgumm
3 Replies

4. UNIX for Dummies Questions & Answers

How to send e-mail from shell script ( C shell )?

Hi , How to send e-mail from shell script ( C shell ) . Mailx command is not working ( It didn't giving error also ). Please help me (2 Replies)
Discussion started by: arukuku
2 Replies

5. Shell Programming and Scripting

Sending mail from shell script

Hello All, I m trying to send mail from my unix script, I have used the below command mailx -s 'hi' email address < temp.txt It is not giving me any error,but I couldn't receive the mail Can you please help me. Many Thanks, Pragyan (6 Replies)
Discussion started by: prarat
6 Replies

6. Shell Programming and Scripting

Shell Script To E-Mail

Hi All, I'm having some problems with my shell script. When running the script I get the following errors: line 101: <html>: command not found line 105: /dumpfile.txt: No such file or directory The file dumpfile.txt does exist and I have double and tripple checked this. I'm not sure... (14 Replies)
Discussion started by: SalientAnimal
14 Replies

7. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

8. Shell Programming and Scripting

To send a mail through shell script

I want to send a mail through shell script,If it is possible Please give me a code. mail id : upload.xxx@example.com (8 Replies)
Discussion started by: kannansoft1985
8 Replies

9. Shell Programming and Scripting

A shell script to run a script which don't get terminated and send a pattern from the output by mail

Hi Guys, I am very new to shell script and I need your help here to write a script. Actually, I have a script abc.sh which don't get terminated itself. So I need to design a script to run this script, save the output to a file, search for a given string in the output and if it exists send those... (11 Replies)
Discussion started by: Sambit Sahu
11 Replies

10. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies
mailsetup(8)						      System Manager's Manual						      mailsetup(8)

NAME
mailsetup - Configures the host's mail system SYNOPSIS
/usr/sbin/mailsetup [-f file] OPTIONS
Specifies the name of the resulting configuration file. DESCRIPTION
The mailsetup script sets up the sendmail system on your host. You can use this script to do a quick setup where defaults are used or to do a more extensive setup. Alternatively, you can use the mailconfig command. Before you run the mailsetup script, your machine should be established on a local area network (LAN). If you want to use domain-based addressing, you must also configure the Berkeley Internet Name Domain (BIND) service in your environment. Furthermore, if you want to dis- tribute your /var/adm/sendmail/aliases database (see aliases(4)) amongst the machines in your environment, you must configure the Network Information Service (NIS). See the Network Administration guide, bind_intro(7), and nis_intro(7) for more information about the BIND and NIS services. For a quick setup, the only information you are asked for is the name of the mail relay you are using and which users are considered local. For the more extensive setup, you are asked for the same information in addition to UUCP, DECnet, and UMC configuration information, mail aliases for your machine, local address formats, and other domain information. You must run the mailsetup script as superuser and with the system in multiuser mode. When you run mailsetup a menu is displayed giving you a choice of responses. You are then prompted for further information. If you do not use the -f option, before mailsetup exits, it asks if you wish to restart your mail with this new configuration. If you answer no, your configuration file is saved in /var/adm/sendmail/sendmail.cf.tmp and the install is aborted. If you answer yes, your /var/adm/sendmail/sendmail.cf file is moved to /var/adm/sendmail/sendmail.cf.orig, if no file by this name exists. If /var/adm/send- mail/sendmail.cf.orig exists, /var/adm/sendmail/sendmail.cf is moved to /var/adm/sendmail/sendmail.cf.n, where n is the version number (0 to 6 where 0 is the most recent). The new configuration file is then moved to /var/adm/sendmail/sendmail.cf and sendmail is restarted. If you use the -f option, the configuration file is saved with the file name specified and sendmail is not restarted. The mailsetup script produces the following three files in /var/adm/sendmail: sendmail.m4 hostname.m4 Makefile.cf.hostname You can fine tune your configuration by modifying the hostname.m4 file and issuing a make -f Makefile.cf.hostname command, which produces a hostname.cf file. You can then copy the hostname.cf file to sendmail.cf and restart sendmail using the /sbin/init.d/sendmail restart com- mand. Running mailsetup To set up your mail system using the mailsetup script, log in as root and complete the following steps: Invoke the mailsetup script. The script asks whether you want to do a quick setup. If you answer yes, the mailsetup script prompts you for the following information: The name of the general-purpose relay If you want to modify the list of aliases and users that are considered local If you want to complete the mail setup To do an advanced mail setup, answer no. The mailsetup script prompts you for the information you collected on the worksheet. When you finish providing the information, the mailsetup script asks if you want to complete the configuration. If you answer yes, the script moves the new sendmail.cf file to the system space, saves the old sendmail.cf file, and restarts sendmail. If you answer no, the script moves the new sendmail.cf file to /var/adm/sendmail/sendmail.cf.tmp and exits. Running mailsetup in a TruCluster Server Cluster The following restrictions apply to setting up mail with the mailsetup script in a TruCluster Server cluster: You can run the mailsetup script on an entire cluster, but not focused on any one cluster member. If you try to run mailsetup with the -focus option, you will see the following error message: Mail can only be configured for the entire cluster. The cluster members and the cluster alias are added to the Cw macro, which defines the nicknames for the cluster. If you delete the cluster members or the cluster alias from the nicknames list via the mailsetup script, they are added again. If you do a quick setup with the mailsetup script, the cluster members and the cluster alias are automically added to the Cw macro (nicknames list) and you are not prompted to update the list of nicknames. Any file that includes the hostname string as part of the file name is changed to includecluster_alias. For example, hostname.m4 becomes cluster_alias.m4 and Makefile.cf.hostname becomes Makefile.cf.cluster_alias. FILES
Contains alias definitions for the sendmail program. Specifies the users who should receive mail on the local host. Specifies the send- mail configuration file. Specifies the mail setup product description for the configuration file. Specifies the backup configuration files. Specifies the original configuration file. Specifies the configuration file produced by mailsetup. Specifies the user config- urable file produced by mailsetup. In a TruCluster Server cluster, this file is named after the cluster alias, i.e., cluster_alias.m4. Specifies the Makefile file produced by mailsetup and used to make a hostname.cf file from the sendmail.cf and hostname.m4 files. In a Tru- Cluster Server cluster, this file is named after the cluster alias, i.e., Makefile.cf.cluster_alias. SEE ALSO
Commands: m4(1), , mailconfig(8), sendmail(8) Introductions: mail_intro(7), bind_intro(7), nis_intro(7) Network Administration mailsetup(8)
All times are GMT -4. The time now is 05:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy