Sponsored Content
Top Forums Shell Programming and Scripting To get older than last 7days records using awk scripting to generate report and send email Post 303000831 by VasuKukkapalli on Thursday 20th of July 2017 02:12:15 PM
Old 07-20-2017
Hello RudiC, Thank you so much for your time and response.
All the users of
Code:
 qstat -u \*

will definitely present in
Code:
 /ccore/pbis/bin/enum-members "adsusers"

for sure.
Which means what ever user-id's as part of 1st command output will definitely be present (all the details including user-id (Alias)) in 2nd command output.
I have slightly change your script to test by adding another awk variable - testEmail like below:

Code:
{ qstat -u \*; /ccore/pbis/bin/enum-members "adsusers" } | awk -v dt="$(date "--date= -7 day" +%m/%d/%Y)" -v testEmail="vasubabu1@finco.com"'

/^User obj/     {F2 = 1
                 FS = ":"
                 T1 = T2 = ""
                 next
                }
!F2             {if (NR < 3) next
                 split ($6, T, "/")
                 if (T[3]T[1]T[2] < dt) JID[$4] = JID[$4] " " $1
                 next
                }

/^UPN/          {T1 = $2
                }
/^Display/      {T2 = $2
                }
/^Alias/        {gsub (/ /, _, $2)
                 EM[$2] = T1
                 DN[$2] = T2
                }
END             {for (j in JID) {print "echo Hello " DN[j] "\\" RS "\\"
                                 print "Job\(s\) with job id\(s\): " JID[j] " executing more than last 7 days, hence request you to take action, else job will be killed in another
                                 print "Thank you.\\"
                                 print " \"|\" "
                                 print "mailx -s \"Long running job for user: " DN[j] " (" j ") and Job ID: " JID[j] "\" "  testEmail 
                                }
                }
' | sh

But i am getting below exception:

Code:
awk: warning: escape sequence `\(' treated as plain `('
awk: warning: escape sequence `\)' treated as plain `)'
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options:          GNU long options:
        -f progfile             --file=progfile
        -F fs                   --field-separator=fs
        -v var=val              --assign=var=val
        -m[fr] val
        -O                      --optimize
        -W compat               --compat
        -W copyleft             --copyleft
        -W copyright            --copyright
        -W dump-variables[=file]        --dump-variables[=file]
        -W exec=file            --exec=file
        -W gen-po               --gen-po
        -W help                 --help
        -W lint[=fatal]         --lint[=fatal]
        -W lint-old             --lint-old
        -W non-decimal-data     --non-decimal-data
        -W profile[=file]       --profile[=file]
        -W posix                --posix
        -W re-interval          --re-interval
        -W source=program-text  --source=program-text
        -W traditional          --traditional
        -W usage                --usage
        -W use-lc-numeric       --use-lc-numeric
        -W version              --version

To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
        gawk '{ sum += $1 }; END { print sum }' file
        gawk -F: '{ print $1 }' /etc/passwd

Could you please help me to fix this? Thank you!!

---------- Post updated at 11:12 AM ---------- Previous update was at 10:28 AM ----------

I got what the problem is, in below print statement double quotes was not ending properly.

Code:
print "Job\(s\) with job id\(s\): " JID[j] " executing more than last 7 days, hence request you to take action, else job will be killed in another

Unfortunately even after i fix this i didn't receive any email,and I don't see any exceptions. Just executing and I don't see any email, that's all. HEre is the last few statements of output:

Code:
> END             {for (j in JID) {print "echo Hello " DN[j] "\\" RS "\\"
>                                  print "Job(s) with job id(s): " JID[j] " executing more than last 7 days, hence request you to take action, else job will be killed in another 1 Day"
>                                  print "Thank you.\\"
>                                  print " \"|\" "
>                                  print "mailx -s \"Long running job for user: " DN[j] " (" j ") and Job ID: " JID[j] "\" "  testEmail
>                                 }
>                 }
> ' | sh
[vasulr@assbd0035 ~]$

could you please help me? Thank you!!

Last edited by VasuKukkapalli; 07-20-2017 at 03:26 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Unable to send eMail from a UNIX-Host ( using mailx ) to a Outlook-email-addres(Win)

Hi A) I am able to send eMail using mailx from a UNIX ( solaris 8 ) host to my Outlook-email-ID : FName.Surname@Citigroup.com ( This is NOT my actual -eMail-ID). But in Outlook the "From :" eMail address is displayed as " usr1@unix-host1.unregistered.email.citicorp.com " .i.e the words... (2 Replies)
Discussion started by: Vetrivela
2 Replies

2. UNIX for Dummies Questions & Answers

awk to find the status and send an email

Hi, I have a datafile which has the following data and it can have much more records. The data set is as follows: ISA~00~ ~00~ ~ZZ~F159B ~ZZ~U1CAD ~051215~184 3~U~00200~000011432~0~P~< GS~FA~TC11A~U1CAD~051215~1843~000011432~X~002002 ST~997~0001... (6 Replies)
Discussion started by: isingh786
6 Replies

3. Shell Programming and Scripting

awk scripting - matching records and summing up time

Hello. I just found out about awk, and it appears that this could handle the problem I'm having right now. I first stumbled on the thread How to extract first and last line of different record from a file, and that problem is almost similar to mine. In my case, an ASCII file will contain the... (0 Replies)
Discussion started by: Gonik
0 Replies

4. Shell Programming and Scripting

How to generate sample records from a file

i have a file having 30 million records.i want to generate a file having say 5% of total records in another file. the records in the new file shud be randomly generated. (1 Reply)
Discussion started by: Nishithinfy
1 Replies

5. Shell Programming and Scripting

Script to send email after comparing the folder permissions to a certain permission & send email

Hello , I am trying to write a unix shell script to compare folder permission to say drwxr-x-wx and then send an email to my id in case the folders don't have the drwxr-x-wx permissions set for them . I have been trying to come up with a script for few days now , pls help me:( (2 Replies)
Discussion started by: nairshar
2 Replies

6. UNIX for Dummies Questions & Answers

new to ldap, send email to a ou or group, and see a list from email client

hi, i'm running openldap on ubuntu 10.04, creating new items with apache directory studio (windows version). i use the ldap just as an address book to our small office (email clients are windows live mail 2009, 2011, microsoft outlook 2007 and 2010). a. i cant see a list of the contacts,... (0 Replies)
Discussion started by: V4705
0 Replies

7. Shell Programming and Scripting

Remove bad records from file and move them into a file then send those via email

Hi my requirement is that i want pull the bad records from input file and move those records in to a seperate file. that file has to be sent via email.. any suggentions please (1 Reply)
Discussion started by: sxk4999
1 Replies

8. Shell Programming and Scripting

Shell scripting unable to send the sql query data in table in body of email

I have written a shell script that calls below sql file. It is not sending the query data in table in the body of email. spool table_update.html; SELECT * FROM PROCESS_LOG_STATS where process = 'ActivateSubscription'; spool off; exit; Please use code tags next time for your code and data.... (9 Replies)
Discussion started by: Sharanakumar
9 Replies

9. Shell Programming and Scripting

Send email if latest file in a directory is older than 2 hours

I have a objective of Sending email if latest file in a directory(excluding files of sub-dirs) is older than 2 hours. eg : ls -ltr drwx--x--x 2 abcde abc 256 2017-02-07 20:10 Mail -rw-rw-r-- 1 abcde abc 1170 2017-02-24 17:30 test -rw-rw-r-- 1 abcde abc 356 2017-03-09 18:00 xyz.csv... (3 Replies)
Discussion started by: simpltyansh
3 Replies

10. UNIX for Beginners Questions & Answers

awk use to generate report

Hi , In a directory list of ddl files are stored in the given format above. Above is the sample ddl file. The ddl file name is same as that of table name ie email_notifications.ddl I want to generate below report using awk utility reading all the ddl files stored in /ddl path Desired output:... (1 Reply)
Discussion started by: vedanta
1 Replies
All times are GMT -4. The time now is 05:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy