• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 640
  • Last Modified:

suppress mail sent by batch or at command in linux

i have several batch or at jobs being scheduled every 3 minutes. Is it possible to suppress the mail being sent to the user who initially starts the job? I don't need to know anything about the job.

The user issues command:
  batch_the_command now + 3 minutes
  • 4
  • 2
  • 2
1 Solution
You should be able to add a  >/dev/null 2>&1 to the end of the command to prevent it from sending an email
penguins_ruleAuthor Commented:
it still created the mail
it did not show the job-id of the original command
if this is a crontab job you have to edit the job in the crontab via crontab -e. Otherwise, I'm not sure how this job runs or is scripted. It may be hard coded into the script.

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

penguins_ruleAuthor Commented:
$ cat batch_the_command
echo "This is the list of things to do for minute"

The command and response:
$ at -f /home/penguin/batch_the_command now
job 2174 at 2014-08-11 16:46

You have new mail
$ mail
& t
Message  1:
From penguin@localhost  Mon Aug 11 16:46:12 2014
Return-Path: <penguin@localhost>
X-Original-To: penguin
Delivered-To: penguin@localhost
Subject: Output from your job     2174
To: penguin@localhost
Date: Mon, 11 Aug 2014 16:46:12 -0400 (EDT)
From: penguin@localhost (penguins_rule)
Status: R

This is the list of things to do for minute

Open in new window

penguins_ruleAuthor Commented:
How would I set it up in cron to run every three minutes and no email?
Gerwin Jansen, EE MVETopic Advisor Commented:
Modify the at command line like this:

$ at -M -f /home/penguin/batch_the_command now
Gerwin Jansen, EE MVETopic Advisor Commented:
Some more details about at:

gerwin@ubuntu:~$ at -?
at: invalid option -- '?'
Usage: at [-V] [-q x] [-f file] [-mMlbv] timespec ...
       at [-V] [-q x] [-f file] [-mMlbv] -t time
       at -c job ...
       atq [-V] [-q x]
       at [ -rd ] job ...
       atrm [-V] job ...

Note the -M option

From man at:

       If a job is submitted to a queue designated with an  uppercase  letter,
       the  job is treated as if it were submitted to batch at the time of the
       job.  Once the time is reached, the batch processing rules with respect
       to  load average apply.  If atq is given a specific queue, it will only
       show jobs pending in that queue.

       -m      Send mail to the user when the job has completed even if  there
               was no output.

       -M      Never send mail to the user.

       -f file Reads the job from file rather than standard input.

       -t time run the job at time, given in the format [[CC]YY]MMDDhhmm[.ss]
penguins_ruleAuthor Commented:
thank you for the man page on at command. I did not realize RedHat Linux and ubuntu had different switches. The -M switch did not show on my man page, but it still works.

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now