VACATION(1)
โจ VACATION(1) โจ
okay bestie, welcome to the General Commands Manual, section 1 โ this is the page for vacation, the lil program that tells everyone you're not here ๐
NAME ๐
vacation โ return โI am not hereโ indication
SYNOPSIS ๐ฆ
vacation -i [-r interval]
vacation -l
vacation -x
vacation [-a alias] [-c ccaddr] [-d] [-f db] [-m msg] [-j] [-z] login
DESCRIPTION ๐
so vacation sends a message back to whoever mailed you, being like โhey bestie, I'm not reading my mail rnโ ๐ญ. the whole point is to use it inside a .forward file. like, your .forward could literally look like this:
\eric, "|/usr/bin/vacation -a allman eric"
which sends messages to you (assuming your login name is eric) and auto-replies to anything addressed to โericโ or โallmanโ. iconic, no cap โจ
Options available (yes, all of them, we're not skipping a single one):
-a aliasโ treat messages for alias exactly the same way you'd treat messages for the user's login name. and yes, you can stack-a aliasmultiple times ๐ซถ-c ccaddrโ copy the vacation messages to ccaddr.-dโ print messages to stderr instead of syslog.-f dbโ uses db as the database file.-m msgโ uses msg as the message file.-jโ reply to the message even if our address can't be found in the โTo:โ or โCc:โ headers. > this option is very dangerous and should be used with extreme care. like, genuinely, be so careful ๐-zโ set the envelope sender of the reply message to โ<>โ.-iโ initialize the vacation database files. you wanna run this before you go messing with your.forwardfile, fr fr.-rโ set the reply interval to interval days. default is one week. an interval of โ0โ means a reply gets sent to every single message, and an interval of โinfiniteโ (actually, any non-numeric character) will never send more than one reply. > heads up: intervals of โ0โ are quite dangerous, because it lets mailers get into โI am on vacationโ loops ๐ญ๐-xโ reads a list of addresses from standard input, one per line, and adds them to the vacation database. mail coming from these excluded addresses won't get a reply. whole domains can be excluded using the syntax โ@domainโ ๐-lโ print the contents of the vacation database files. for each entry, the address the reply has been sent to and the associated time get printed to standard output. so satisfying to look at ngl ๐
if you run vacation with no arguments at all, it'll guide the user through the configuration process. it's giving hand-holding in the best way ๐
okay now the big important vibes, listen up:
No message will be sent unless login (or an alias supplied using the -a option) is part of either the โTo:โ or โCc:โ headers of the mail. and no messages from โ???-REQUESTโ, โPostmasterโ, โUUCPโ, โMAILERโ, or โMAILER-DAEMONโ will be replied to (where these strings are case insensitive) โ nor is a notification sent if a โPrecedence: bulkโ, โPrecedence: listโ, โPrecedence: junkโ, โX-Spam-Flag: yesโ or โAuto-submitted: (something other than no)โ line is included in the mail headers. the people who have sent you messages are maintained as a db(3) database in the file .vacation.db in your home directory. bestie database ๐
vacation expects a file .vacation.msg, in your home directory, containing a message to be sent back to each sender. it should be an entire message (including headers). for example, it might contain:
From: eric@CS.Berkeley.EDU (Eric Allman)
Subject: I am on vacation
Delivered-By-The-Graces-Of: The Vacation program
Precedence: bulk
I am on vacation until July 22. If you have something urgent,
please contact Keith Bostic <bostic@CS.Berkeley.EDU>.
--eric
any occurrence of the string $SUBJECT in .vacation.msg will be replaced by the subject of the message that triggered the vacation program. cute lil template variable, love that for us โจ
vacation reads the incoming message from standard input, checking the message headers for either the Unix โFromโ line or a โReturn-Pathโ header to determine the sender. if both are present, the sender from the โReturn-Pathโ header is used. Sendmail(8) includes this โFromโ line automatically. so you don't gotta do it yourself, slay ๐ฆ
fatal errors โ like calling vacation with incorrect arguments, or with non-existent logins โ are logged on the standard error output and in the system log file, using syslog(3). it's telling everyone when things go wrong ๐ญ
DIAGNOSTICS ๐
the vacation utility exits 0 on success, and >0 if an error occurs. zero means we ate, anything above means we did not ๐
FILES ๐ธ
~/.vacation.dbโ database file~/.vacation.msgโ message to send~/.forward
SEE ALSO ๐ง
aliases(5), sendmail(8), syslogd(8)
HISTORY โญ
the vacation command appeared in 4.3BSD. vintage. classic. historic even ๐
AUTHOR ๐
vacation was developed by Eric Allman and the University of California, Berkeley in 1983.
This version is maintained by Marco d'Itri <md@linux.it> and contains code taken from the three free BSD and some patches applied to a linux port.
and that's a wrap bestie ๐ซถ this lil Linux edition is dated June 15, 2003 โ go touch some grass, you're officially on vacation ๐โจ๐
๐ฆ where this page comes from
- debian bookworm: vacation 3.3.3
- debian trixie: vacation 3.3.3+b1
- ubuntu jammy: vacation 3.3.3
- ubuntu noble: vacation 3.3.3build2
- ubuntu questing: vacation 3.3.3build2
- ubuntu resolute: vacation 3.3.3build3
- ubuntu stonking: vacation 3.3.3+nmu1 ยท BSD-3-Clause
- Copyright (c) 1985, 1987, 1990, 1991, 1993 The Regents of the University of California. All rights reserved
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms