Wednesday, August 13, 2014

/etc/acct/holidays

In /var/adm/messages on Solaris:

Aug 13 02:30:16 hostname adm: [ID 702911 daemon.notice]
Aug 13 02:30:16 hostname last message repeated 4 times
Aug 13 02:30:16 hostname adm: [ID 702911 daemon.notice] **********  SYSTEM ACCOUNTING STARTED Wed Aug 13 02:30:16 BST 2014  **********
Aug 13 02:30:16 hostname adm: [ID 702911 daemon.notice]
Aug 13 02:30:16 hostname last message repeated 4 times
Aug 13 02:30:16 hostname adm: [ID 702911 daemon.error]
Aug 13 02:30:16 hostname last message repeated 1 time
Aug 13 02:30:16 hostname adm: [ID 702911 daemon.error] ************ ACCT ERRORS : see  /var/adm/acct/nite/log********
Aug 13 02:30:16 hostname adm: [ID 702911 daemon.error]
Aug 13 02:30:16 hostname last message repeated 1 time

In /var/adm/acct/nite/log

***UPDATE /etc/acct/holidays WITH NEW HOLIDAYS***

Update /etc/acct/holidays to have 2037 for the year.

$ cat /etc/acct/holidays
* @(#)holidays  January 1, 2010
*
* Prime/Nonprime Table for UNIX Accounting System
*
* Curr  Prime   Non-Prime
* Year  Start   Start
*
  2037  0800    1800
*
* only the first column (month/day) is significiant.
*
* month/day     Company
*               Holiday
*
1/1             New Years Day
12/25           Christmas

https://hg.openindiana.org/upstream/illumos/illumos-gate/raw-file/afe390b9f1e0/usr/src/cmd/acct/lib/pnpsplit.c

/*
 * inithol - read from an ascii file and initialize the "thisyear"
 * variable, the times that prime and non-prime start, and the
 * holidays array.
 */
int
inithol()
{
...
 /* validate year */
 if(thisyear < 1970 || thisyear > 2037) {
  fprintf(stderr, "pnpsplit: invalid year: %d\n",
   thisyear);
  errflag++;
  break;
 }
...
}