Enhancement plus minor bug fixes. This patch to globus_gatekeeper.c makes the gatekeeper rotate its logfile on reception of SIGUSR1: the name of the current file is given an extension ".$timestamp.$seqnr" where "$timestamp" has "YYYYMMDDHHMMSS" format and "$seqnr" is 0 when the gatekeeper is started and incremented each time the signal is sent. The file is closed and a fresh standard logfile is opened. The signal would be sent by a cron job whenever the logfile has reached a certain size and/or once per day/week/... Job accounting info is written to an accounting file (= gatekeeper logfile by default), which is also rotated. For each job, the accounting information is of the following format (see corresponding patch for the jobmanager): ---------------------------------------------------------------------- JMA YYYY/MM/DD HH:MM:SS GATEKEEPER_JM_ID for on JMA YYYY/MM/DD HH:MM:SS GATEKEEPER_JM_ID has GRAM_SCRIPT_JOB_ID \ manager type JMA YYYY/MM/DD HH:MM:SS GATEKEEPER_JM_ID JM exiting ---------------------------------------------------------------------- The string has this format: YYYY-MM-DD.HH:MM:SS.. where and are left-padded with zeroes to have 10 digits. is the PID of the gatekeeper, is request sequence number (incremented per connection). The string is obtained from the "GATEKEEPER_JM_ID" environment variable defined by the gatekeeper. The second JMA line allows the job's and originating host to be linked to the job's accounting information recorded by the batch system. A corresponding patch for the LSF job manager script supplies a job summary before the "JM exiting" line, of the following format: ---------------------------------------------------------------------- JMA YYYY/MM/DD HH:MM:SS GATEKEEPER_JM_ID summary: "> JMA -- end of summary ---------------------------------------------------------------------- For other batch systems such a job summary is not yet available. The accounting information is written to the file descriptor named by the "GATEKEEPER_ACCT_FD" environment variable defined by the gatekeeper; if the variable is not set, or if the descriptor cannot be written to, the accounting information is discarded. By LCG (Maarten.Litmaath@cern.ch).