How to send mail at specific calculated time interval?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to send mail at specific calculated time interval?
# 8  
Old 06-05-2017
Quote:
Originally Posted by nalu
Please help me.
gladly so: First, start by indenting your code. This will help you keep track of the branching. If you throw in some empty lines for better reading all the better:

Code:
v_par=8
num_minutes=10
if [[ $v_par -eq 8 ]] ; then
     last_mail_date1="2017-06-05 01:47:25"
     last_mail_date=$last_mail_date1
     curr_date=$(date +"%Y-%m-%d %H:%M:%S")
     diff_sec=`echo "$(($(date -d "$curr_date" '+%s') - $(date -d "$last_mail_date" '+%s')))"`
     diff_min=`expr $diff_sec / 60`

     if [[ $diff_min -ge  $num_minutes ]]; then
          mail -s "mail sent"
          last_mail_date1=$(date +"%Y-%m-%d %H:%M:%S")
     fi
fi

Second: get rid of these backticks. They are really, positively, definitely OUTDATED sicne about 25 years or so and should not be used any more! The same is true for the ridiculuos expr-statement. Modern shells have learned to do integer artithmetic, so don't use an external program for something the shell can do it itself.

Code:
v_par=8
num_minutes=10
if [[ $v_par -eq 8 ]] ; then
     last_mail_date1="2017-06-05 01:47:25"
     last_mail_date=$last_mail_date1
     curr_date=$(date +"%Y-%m-%d %H:%M:%S")
     diff_sec=$(( $(date -d "$curr_date" '+%s') - $(date -d "$last_mail_date" '+%s') ))
     diff_min=$(( diff_sec / 60 ))

     if [[ $diff_min -ge  $num_minutes ]]; then
          mail -s "mail sent"
          last_mail_date1=$(date +"%Y-%m-%d %H:%M:%S")
     fi
fi

But the real problem is perhaps:

1) You have no "file where the mail text is stored", at lease not in your script (which i suspect is not the read script but an arbitrary part thereof).

2) The mail-command is not sending any real mail, because the mail body is completely missing and so is the receiver.

I hope this helps.

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Client was not authenticated to send anonymous mail during MAIL FROM (in reply to MAIL FROM comm

I am having trouble getting mail to work on a red hat server. At first I was getting this message. Diagnostic-Code: X-Postfix; delivery temporarily suspended: connect to :25: Connection refused Then added the port to my firewall. Then I temporarily turned off selinux. I then copied this file... (1 Reply)
Discussion started by: cokedude
1 Replies

2. Red Hat

Script taking more time to send report to mail

Hi, I schedule a script on linux server and it is taking more time say "30 minutes" to send the report via mail. Could you please suggest a way to speed up sending report to mail? OS version -- Red Hat Enterprise Linux Server release 6.5 (Santiago) Regards, Maddy (2 Replies)
Discussion started by: Maddy123
2 Replies

3. Shell Programming and Scripting

Script that gathers specific values from files and puts it into HTML to send e-mail

Hi All, Sorry for long topic here. So the drill goes like that, I need a script which gathers different values from different files/locations. A_CT=`cat a.dat | awk -F'|' '{print $1}' >> report.txt` B_CT=`cat b.dat | awk -F'|' '{print $3}' >> report.txt` C_CT=`cat c.dat | awk -F'|'... (4 Replies)
Discussion started by: shivakid
4 Replies

4. Shell Programming and Scripting

Main script triggers second and it has to run at specific interval

Hi Friends, I am newbie to shell programming and I am stuck trying to accomplish following task.We use Bamboo CI which executes script1 passing parameters. This Main script executes script2 as backend process as part of one of it statements. Task of script2 is to essentially check whether a... (0 Replies)
Discussion started by: aditya206
0 Replies

5. Shell Programming and Scripting

Mailing a file at a particular time interval

Folks, I need to send a .log file to my email for every one hour from a server that too only in a particular time period. Is awk mandate here? or can we do it in shell scripting only? Please help me in sorting this out. Cheers, Arun (3 Replies)
Discussion started by: ArunJanga
3 Replies

6. UNIX for Advanced & Expert Users

need to configure mail setting to send mail to outlook mail server

i have sun machines having solaris 9 & 10 OS . Now i need to send mail from the machines to my outlook account . I have the ip adress of OUTLOOK mail server. Now what are the setting i need to do in solaris machines so that i can use mailx or sendmail. actually i am trying to automate the high... (2 Replies)
Discussion started by: amitranjansahu
2 Replies

7. Shell Programming and Scripting

how to write a shellscript to send a mail alert to the website user based on license expiration time

hi, i am very much new to shell scripting i have a requirement that i have to develop a License Renewal Alert system that has to give a alert mail to the users before 30days of user account expiration, by checking expiration date of the user with the data base, this system will... (0 Replies)
Discussion started by: deepu_Shscripts
0 Replies

8. UNIX for Dummies Questions & Answers

Copying files between two time interval

Hi All, I am new to this forum.... Can neone please help me how to copy files between two time intervals i.e. I need to copy files from 6.30 to 9.30 on 5th June 09. Any help is appreciated. (2 Replies)
Discussion started by: Pratik4891
2 Replies

9. Shell Programming and Scripting

Send mail with attachments automatically in a interval period

hai everyone I want to send mail with attachments automatically for every 15 minutes getting different E-mail IDs from a file if any script is available , Please send to me .. This will be very useful for my project.... Thanks for your time..... Felix ... (3 Replies)
Discussion started by: Leo Felix
3 Replies

10. Solaris

Time Wait interval

What is the time_wait interval for Solaris 8/9??? and is it configurable??? For example sometimes a clients pc will freeze up dropping the connection, closing the port. The problem is on our side our system still thinks their logged in (until it realizes it dropped on the otherside and drops on... (1 Reply)
Discussion started by: eloquent99
1 Replies
Login or Register to Ask a Question