s6: the s6-tai64nlocal program
Keywords: s6 command s6-tai64nlocal filter timestamp TAI64 TAI64N human-readable date time

s6
Software
skarnet.org

# The s6-tai64nlocal program

s6-tai64nlocal acts as a filter, reading from stdin and writing to stdout. For every line that begins with a TAI64N timestamp, it replaces this timestamp with a human-readable local date and time.

## Interface

         s6-tai64nlocal

- s6-tai64nlocal exits 0 when it sees the end of stdin. If there's an unfinished line, s6-tai64n processes it and writes it before exiting.

## Notes

- The typical use case of s6-tai64nlocal is to read files that have been filtered through s6-tai64n, or log files that have been produced by s6-log with the `-t` option. For instance, to read the latest httpd logs with human-readable timestamps, `s6-tai64nlocal < /var/log/httpd/current | less` is a possible command.
- s6-tai64nlocal does neither "line buffering" nor "block buffering". It does optimal buffering, i.e. it flushes its output buffer every time it risks blocking on input.

## Troubleshooting

If s6-tai64nlocal does not appear to give the correct local time:

- Check the compilation options that were used for the skalibs libraries your s6-tai64nlocal program was linked against. In particular, check whether the `--enable-tai-clock` or `--enable-right-tz` configure options have been given.
- Compare these flags and their meanings with your current timezone. In particular, check `/etc/localtime`, `/etc/timezone`, `/etc/TZ`, and the TZ environment variable.
- Check that you have a correct and recent version of `/etc/leapsecs.dat`.