---
name: "ac"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/ac/8"
---

# ac(8)

connect time accounting

## NAME

**ac** – connect time accounting

## SYNOPSIS

**ac** \[**-dp**\] \[**-t** *tty*\] \[**-w** *wtmp*\] \[*users* *...*\]

## DESCRIPTION

If the file */var/log/utx.log* exists, a record of individual login and logout times are written to it by [login(1)](/login/1.md) and [init(8)](/init/8.md), respectively. The **ac** utility examines these records and writes the accumulated connect time (in hours) for all logins to the standard output.

The options are as follows:

- **-d**

  Display the connect times in 24 hour chunks.

- **-p**

  Print individual users' totals.

- **-t** *tty*

  Only do accounting logins on certain ttys. The *tty* specification can start with '!' to indicate not this *tty* and end with '\*' to indicate all similarly named ttys. Multiple **-t** flags may be specified.

- **-w** *wtmp*

  Read connect time data from *wtmp* instead of the default file, */var/log/utx.log*.

- *users* *...*

  Display totals for the given individuals only.

If no arguments are given, **ac** displays the total connect time for all accounts with login sessions recorded in *utx.log*.

The default *utx.log* file will increase without bound unless it is truncated. It is normally truncated by the daily scripts run by [cron(8)](/cron/8.md), which rename and rotate the *utx.log* files, keeping a week's worth of data on hand. No login or connect time accounting is performed if */var/log/utx.log* does not exist.

## FILES

- */var/log/utx.log*

  connect time accounting file

## EXIT STATUS

The **ac** utility exits 0 on success, and \>0 if an error occurs.

## EXAMPLES

Allow times recorded in *modems* to be charged out at a different rate than *other*:

```
ac -p -t "ttyd*" > modems
ac -p -t "!ttyd*" > other
```

## SEE ALSO

[login(1)](/login/1.md), [getutxent(3)](/getutxent/3.md), [init(8)](/init/8.md), [sa(8)](/sa/8.md)

## HISTORY

An **ac** command appeared in Version 5 AT&T UNIX. This version of **ac** was written for NetBSD 0.9a from the specification provided by various systems' manual pages.
