accounting revision 124627
148905Srnordier#!/bin/sh
248905Srnordier#
348905Srnordier# $NetBSD: accounting,v 1.7 2002/03/22 04:33:57 thorpej Exp $
448905Srnordier# $FreeBSD: head/etc/rc.d/accounting 124627 2004-01-17 11:25:16Z mtm $
548905Srnordier#
648905Srnordier
748905Srnordier# PROVIDE: accounting
848905Srnordier# REQUIRE: mountall
948905Srnordier# BEFORE: DAEMON
1048905Srnordier# KEYWORD: FreeBSD
1148905Srnordier
1248905Srnordier. /etc/rc.subr
1348905Srnordier
1448905Srnordiername="accounting"
1548905Srnordierrcvar=`set_rcvar`
1648905Srnordieraccounting_command="/usr/sbin/accton"
1748905Srnordieraccounting_file="/var/account/acct"
1848905Srnordierstart_cmd="accounting_start"
1948905Srnordierstop_cmd="accounting_stop"
2048905Srnordier
2148905Srnordieraccounting_start()
2248905Srnordier{
2348905Srnordier	_dir=`dirname "$accounting_file"`
2448905Srnordier	if [ ! -d `dirname "$_dir"` ]; then
2548905Srnordier		if ! mkdir -p "$_dir"; then
2648905Srnordier			warn "Could not create $_dir."
2748905Srnordier			return 1
2848905Srnordier		fi
2948905Srnordier	fi
3048905Srnordier	if [ ! -e "$accounting_file" ]; then
3148905Srnordier		touch "$accounting_file"
3248905Srnordier	fi
3348905Srnordier
3448905Srnordier	if [ ! -f ${accounting_file} ]; then
3548905Srnordier		echo "Creating accounting file ${accounting_file}"
3648905Srnordier		( umask 022 ; > ${accounting_file} )
3748905Srnordier	fi
3848905Srnordier	echo "Turning on accounting."
3948905Srnordier	${accounting_command} ${accounting_file}
4048905Srnordier}
4148905Srnordier
4248905Srnordieraccounting_stop()
4348905Srnordier{
4448905Srnordier	echo "Turning off accounting."
4548905Srnordier	${accounting_command}
4648905Srnordier}
4748905Srnordier
4848905Srnordierload_rc_config $name
4948905Srnordierrun_rc_command "$1"
5048905Srnordier