Avatar of penguins_rule
penguins_rule
Flag for United States of America asked on

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
LinuxLinux DistributionsUnix OS

Avatar of undefined
Last Comment
penguins_rule

8/22/2022 - Mon
BigDeer

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_rule

ASKER
it still created the mail
it did not show the job-id of the original command
BigDeer

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.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
penguins_rule

ASKER
$ cat batch_the_command
#!/bin/bash
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_rule

ASKER
How would I set it up in cron to run every three minutes and no email?
ASKER CERTIFIED SOLUTION
Gerwin Jansen

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Gerwin Jansen

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 ...
       batch

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]
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
penguins_rule

ASKER
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.