1<HTML> 2<!-- SECTION: Getting Started --> 3<HEAD> 4 <TITLE>Printer Accounting Basics</TITLE> 5 <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css"> 6</HEAD> 7<BODY> 8 9<H1 CLASS="title">Printer Accounting Basics</H1> 10 11<P>CUPS supports a variety of printer accounting schemes. Aside from the 12built-in <A HREF="#QUOTAS">quota</A> and <A HREF="#PAGELOG">page logging</A> 13support, there are several third-party solutions that can be found on 14<A HREF="http://www.cups.org/">www.cups.org</A>.</P> 15 16 17<H2 CLASS="title"><A NAME="QUOTAS">Quota Support</A></H2> 18 19<P>CUPS supports page and size-based quotas for each printer. 20The quotas are tracked individually for each user, but a single set of 21limits applies to all users for a particular printer. For example, you 22can limit every user to 5 pages per day on an expensive printer, but 23you cannot limit every user except Johnny.</P> 24 25<P>The <CODE>job-k-limit</CODE>, <CODE>job-page-limit</CODE>, and <CODE>job-quota-period</CODE> 26options determine whether and how quotas are enforced for a printer. 27The <CODE>job-quota-period</CODE> option determines the time interval for 28quota tracking. The interval is expressed in seconds, so a day is 2986,400, a week is 604,800, and a month is 2,592,000 seconds. The 30<CODE>job-k-limit</CODE> option specifies the job size limit in killobytes. The 31<CODE>job-page-limit</CODE> option specifies the number of pages limit.</P> 32 33<P>For quotas to be enforced, the period and at least one of the limits 34must be set to a non-zero value. The following options will enable 35weekly quotas with the given size and page count limits:</P> 36 37<PRE CLASS="command"> 38<KBD>/usr/sbin/lpadmin -p <I>printer</I> -o job-quota-period=604800 \ 39 -o job-k-limit=1024 ENTER</KBD> 40<KBD>/usr/sbin/lpadmin -p <I>printer</I> -o job-quota-period=604800 \ 41 -o job-page-limit=100 ENTER</KBD> 42</PRE> 43 44<P>Or, you can combine all three options on the same line.</P> 45 46<P>While there is no way to query the current quota state for a particular 47user, any application can request a list of jobs for a user and printer that 48can be used to easily determine that information.</P> 49 50 51<H2 CLASS="title"><A NAME="PAGELOG">Page Logging</A></H2> 52 53<P>CUPS logs every page that is printed on a system to the 54<VAR><A HREF="ref-page_log.html">page_log</A></VAR> file. Page logging 55is only available for drivers that provide page accounting information, 56typically all PostScript and CUPS raster devices. Raw queues and queues 57using third-party solutions such as Foomatic generally do not have 58useful page accounting information available.</P> 59 60 61</BODY> 62</HTML> 63