Daylight v4.9
Release Date: 1 February 2008

Name

dayevict - evict users from a Thor/Merlin server or database

Unix Synopsis

dayevict [options] user [server|database]

Description

dayevict is used to "forcibly" evict clients from a Thor or Merlin server (i.e. log them out), or to forcibly evict them from a Thor or Merlin database (i.e. close their database).

Generally speaking, evicting users is a bad idea -- all work in progress is lost. Eviction should be used as a last resort.

The name "user" specifies who is to be evicted, and must be the full user name (see thorwho(1), merlinwho(1)). Note that if the name is ambiguous, i.e. several clients have logged in using the same name, then all clients matching the name are evicted. If "user" is an empty string, all users are evicted. Note that you must explicitly enter an empty string, e.g.

dayevict "" db@host:thor

The option -GRACE_TIME allows you to send a warning message to users, and give them time to save their work. If there is no grace time ("-GRACE_TIME 0"), then users are evicted immediately with no warning. Otherwise, a message is read from standard input and sent to all clients who are about to be evicted. This message should be relatively short (less than 20 lines, a couple of lines is more appropriate), and the length of each line should be short (less than 70 characters). If the program is interrupted during the grace time, no users are evicted.

Users can be evicted from a server, or from a specific database. If you specify a database, you must also specify a host (a minimal specification, such as "mydb@", suffices). A name that doesn't contain an '@' character is interpreted as a server's name.

dayevict determines whether the server is a Thor or Merlin server by the service name (after the first ':'). A service that begins with "thor" (e.g. "@host:thor", "@host:thor2") is assumed to be a Thor server; one that begin with "merlin" (e.g. "@host:merlin", "@host:merlin2") is assumed to be a Merlin server. If no service is specified (e.g. "@host"), it is assumed to be a Thor server.

Options

-ARE_YOU_SURE [DONTASK|ASK]
Eviction is a serious step, so dayevict(1) asks you to enter "yes" to confirm that you want to evict users. If this option is set to DONTASK, then the eviction proceeds without further confirmation. This question comes to the terminal device even if standard input, output and error are redirected. The only way to avoid entering "yes" from the keyboard is via this option.
-GRACE_TIME minutes
If -GRACE_TIME is non-zero, a warning message read from standard input and sent to all clients using the server or database. Then dayevict(1) "sleeps" for the specified number of minutes, and finally evicts the users and performs the evictions.
STANDARD THORFILTER OPTIONS:
----------------------------

The following options are common to most or all "thorfilter" programs. They are described in more detail in thorfilters(1).

-SECURE_PASSWORDS TRUE|FALSE

TRUE means don't allow passwords on the command line (require interactive entry). Default: TRUE.
-THOR_IPC_SERVICE service
Names the default TCP/IP service or "port" of the Thor server. (Note: a server name that includes a Thor or Merlin service, e.g. "mymachine:merlin", overrides this.) Default: thor.

Return Value

Return status is zero if evictions succeeded, or one if they failed. Also prints information about the warning, the grace period, and how many users are actually evicted.

Examples

Evict all users from a Thor server on a machine named "santafe". Default grace time is 5 minutes, and you will be prompted for a warning message to send to the "evictees":

dayevict "" @santafe

Immediately evict, with no warning message, all clients logged in as "joe" to Merlin server on a machine named "santafe":

dayevict -grace_time 0 joe @santafe:merlin

Give a warning message, wait 30 minutes, then evict all clients using the database "spresi95" from a machine named "santafe". The clients connection to the server is not affected, so any other databases they have open will remain open (only spresi95 is closed).

echo "Spresi95 is closing in 30 minutes!" | dayevict -grace_time 30 "" spresi95

Files

$DY_ROOT/bin/dayevict

Daylight License

programs: thormanager

Related Topics

daymessage(1) merlindbping(1) merlinload(1) merlinls(1) merlinping(1) merlinwho(1) thorchange(1) thorcrunch(1) thordbping(1) thordelete(1) thordestroy(1) thordiff(1) thordump(1) thorlist(1) thorload(1) thorlookup(1) thorls(1) thormake(1) thorping(1) thorwho(1)

sthorman(1) thorserver(1) merlinserver(1)

dt_evict(3) dt_setmessage(3)

licensing(5)

Daylight Theory Manual, Daylight System Administration Manual

Bugs

None known.