If the F<BackupLog> file does not already exist in the F</usr/afs/logs>
directory when the Backup Server starts, the server process creates it and
-writes initial start-up messages to it. If there is an existing file, the
-Backup Server renames it to F<BackupLog.old>, overwriting the existing
-F<BackupLog.old> file if it exists.
+writes initial start-up messages to it.
The file is in ASCII format. Administrators listed in the
F</usr/afs/etc/UserList> file can use the B<bos getlog> command to display
If the F<BosLog> file does not already exist in the F</usr/afs/logs>
directory when the BOS Server starts, the server process creates it and
-writes initial start-up messages to it. If there is an existing file, the
-BOS server renames it to F<BosLog.old>, overwriting the existing
-F<BosLog.old> file if it exists.
+writes initial start-up messages to it.
The file is in ASCII format. Administrators listed in the
F</usr/afs/etc/UserList> file can use the B<bos getlog> command to display
If the F<FileLog> file does not already exist in the
F</usr/afs/logs> directory when the File Server starts, the server
-process creates it and writes initial start-up messages to it. If there
-is an existing file, the File Server renames it to
-F<FileLog.old>, overwriting the existing
-F<FileLog.old> file if it exists.
+process creates it and writes initial start-up messages to it.
The file is in ASCII format. Administrators listed in the
F</usr/afs/etc/UserList> file can use the B<bos getlog> command to display
If the F<VLLog> file does not already exist in the
F</usr/afs/logs> directory when the VL Server starts, the server
-process creates it and writes initial start-up messages to it. If there
-is an existing file, the VL Server renames it to F<VLLog.old>,
-overwriting the existing F<VLLog.old> file if it exists.
+process creates it and writes initial start-up messages to it.
The file is in ASCII format. Administrators listed in the
F</usr/afs/etc/UserList> file can use the B<bos getlog> command to display
If the VolserLog file does not already exist in the F</usr/afs/logs>
directory when the Volume Server starts, the server process creates it and
-writes initial start-up messages to it. If there is an existing file, the
-Volume Server renames it to F<VolserLog.old>, overwriting the existing
-F<VolserLog.old> file if it exists.
+writes initial start-up messages to it.
The file is in ASCII format. Administrators listed in the
F</usr/afs/etc/UserList> file can use the B<bos getlog> command to display
S<<< [B<-rxmaxmtu> <I<bytes>>] >>>
S<<< [B<-rxbind>] >>>
S<<< [B<-syslog>[=<I<facility>>]>] >>>
+ S<<< [B<-transarc-logs>] >>>
S<<< [B<-pidfiles>[=<I<path>>]] >>>
S<<< [B<-nofork>] >>>
S<<< [B<-help>] >>>
log file. B<-syslog>=I<facility> can be used to specify to which facility
the log message should be sent.
+=item B<-transarc-logs>
+
+Use Transarc style logging features. Rename the existing log file
+F</usr/afs/logs/BosLog> to F</usr/afs/logs/BosLog.old> when the bos server is
+restarted. This option is provided for compatibility with older versions.
+
=item B<-pidfiles>[=<I<path>>]
Create a one-line file containing the process id (pid) for each non-cron
S<<< [B<-enable_process_stats>] >>>
S<<< [B<-syslog> [<I< loglevel >>]] >>>
S<<< [B<-mrafslogs>] >>>
+ S<<< [B<-transarc-logs>] >>>
S<<< [B<-saneacls>] >>>
S<<< [B<-help>] >>>
S<<< [B<-vhandle-setaside> <I<fds reserved for non-cache io>>] >>>
Use MR-AFS (Multi-Resident) style logging. This option is deprecated.
+=item B<-transarc-logs>
+
+Use Transarc style logging features. Rename the existing log file
+F</usr/afs/logs/FileLog> to F</usr/afs/logs/FileLog.old> when the fileserver is
+restarted. This option is provided for compatibility with older versions.
+
=item B<-saneacls>
Offer the SANEACLS capability for the fileserver. This option is
S<<< [B<-enable_process_stats>] >>>
S<<< [B<-syslog> [<I< loglevel >>]] >>>
S<<< [B<-mrafslogs>] >>>
+ S<<< [B<-transarc-logs>] >>>
S<<< [B<-saneacls>] >>>
S<<< [B<-help>] >>>
S<<< [B<-vhandle-setaside> <I<fds reserved for non-cache io>>] >>>
file removals that result from issuing the B<vos release> command with the
B<-f> flag.
+=item B<-transarc-logs>
+
+Use Transarc style logging features. Rename the log file
+F</usr/afs/logs/VolserLog> to F</usr/afs/logs/VolserLog.old> when the volume server is
+restarted. This option is provided for compatibility with older versions.
+
=item B<-p> <I<number of processes>>
Sets the number of server lightweight processes (LWPs) to run. Provide an
[B<-rxmaxmtu> <I<bytes>>]
[B<-rxbind>]
[B<-syslog>[=<I<FACILITY>]]
+ [B<-transarc-logs>]
[B<-sleep> <I<sleep time>/I<run time>>]
[B<-restricted_query> (anyuser | admin)]
[B<-help>]
S<<< [B<-audit-interface> (file | sysvmq)] >>>
S<<< [B<-syslog>[=<I<FACILITY>>]] >>>
S<<< [B<-logfile> <I<log file>>] >>>
+ [B<-transarc-logs>]
S<<< [B<-config> <I<configuration path>>] >>>
S<<< [B<-rxmaxmtu> <I<bytes>>] >>>
[B<-help>]
Changing the location of the log file from the command line may result
in undesirable interactions with tools such as B<bos>.
+=item B<-transarc-logs>
+
+Use Transarc style logging features. Rename the log file
+F</usr/afs/logs/PtLog> to F</usr/afs/logs/PtLog.old> when the PT Server is
+restarted. This option is provided for compatibility with older versions.
+
=item B<-config> <I<configuration directory>>
Set the location of the configuration directory used to configure this
[B<-allow-dotted-principals>]
S<<< [B<-database> | B<-db> <I<database path>>] >>>
S<<< [B<-logfile> <I<log file>>] >>>
+ [B<-transarc-logs>]
S<<< [B<-config> <I<configuration path>>] >>>
S<<< [B<-syslog>[=<I<facility>>]>] >>>
[B<-enable_peer_stats>] [B<-enable_process_stats>]
Changing the location of the log file from the command line may result
in undesirable interactions with tools such as B<bos>.
+=item B<-transarc-logs>
+
+Use Transarc style logging features. Rename the log file
+F</usr/afs/logs/VLLog> to F</usr/afs/logs/VLLog.old> when the VL Server is
+restarted. This option is provided for compatibility with older versions.
+
=item B<-database> | B<-db> <I<database path>>
Set the location of the database used by this program. This option is
#ifndef AFS_NT40_ENV
int DoSyslogFacility = LOG_DAEMON;
#endif
+int DoTransarcLogs = 0;
static afs_int32 nextRestart;
static afs_int32 nextDay;
DoPidFiles = (argv[code]+10);
} else if (strncmp(argv[code], "-pidfiles", 9) == 0) {
DoPidFiles = AFSDIR_LOCAL_DIR;
+ } else if (strcmp(argv[code], "-transarc-logs") == 0) {
+ DoTransarcLogs = 1;
}
else {
"[-enable_peer_stats] [-enable_process_stats] "
"[-cores=<none|path>] \n"
"[-pidfiles[=path]] "
+ "[-transarc-logs] "
"[-nofork] " "[-help]\n");
#else
printf("Usage: bosserver [-noauth] [-log] "
if (!DoSyslog) {
/* Support logging to named pipes by not renaming. */
- if ((lstat(AFSDIR_SERVER_BOZLOG_FILEPATH, &sb) == 0)
+ if (DoTransarcLogs
+ && (lstat(AFSDIR_SERVER_BOZLOG_FILEPATH, &sb) == 0)
&& !(S_ISFIFO(sb.st_mode))) {
if (asprintf(&oldlog, "%s.old", AFSDIR_SERVER_BOZLOG_FILEPATH) < 0) {
printf("bosserver: out of memory\n");
char lcell[MAXKTCREALMLEN];
afs_uint32 myHost = 0;
int helpOption;
+static struct logOptions logopts;
/* server's global configuration information. This is exported to other
* files/routines
cmd_AddParm(cptr, "-audit-interface", CMD_SINGLE, CMD_OPTIONAL,
"audit interface (file or sysvmq)");
+
+ cmd_AddParm(cptr, "-transarc-logs", CMD_FLAG, CMD_OPTIONAL,
+ "enable Transarc style logging");
}
int
BUDB_EXIT(-1);
}
}
+ /* -transarc-logs */
+ if (as->parms[11].items != 0) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ }
/* -auditlog */
/* needs to be after -audit-interface, so we osi_audit_interface
afs_int32 numClasses;
extern int rx_stackSize;
- struct logOptions logopts;
#ifdef AFS_NT40_ENV
/* initialize winsock */
memset(&logopts, 0, sizeof(logopts));
logopts.lopt_dest = logDest_file;
logopts.lopt_filename = AFSDIR_SERVER_BUDBLOG_FILEPATH;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
osi_audit_init();
osi_audit(BUDB_StartEvent, 0, AUD_END);
OPT_process,
OPT_rxbind,
OPT_rxmaxmtu,
- OPT_dotted
+ OPT_dotted,
+ OPT_transarc_logs
};
int
cmd_AddParmAtOffset(opts, OPT_syslog, "-syslog", CMD_SINGLE_OR_FLAG,
CMD_OPTIONAL, "log to syslog");
#endif
+ cmd_AddParmAtOffset(opts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+ CMD_OPTIONAL, "enable Transarc style logging");
/* rx options */
cmd_AddParmAtOffset(opts, OPT_peer, "-enable_peer_stats", CMD_FLAG,
fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.");
PT_EXIT(1);
}
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.");
+ PT_EXIT(1);
+ }
logopts.lopt_dest = logDest_syslog;
logopts.lopt_facility = LOG_DAEMON;
logopts.lopt_tag = "ptserver";
#endif
{
logopts.lopt_dest = logDest_file;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
-
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ }
if (cmd_OptionPresent(opts, OPT_logfile))
cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
else
OPT_udpsize,
OPT_dotted,
OPT_realm,
- OPT_sync
+ OPT_sync,
+ OPT_transarc_logs
};
static int
"debug level");
cmd_AddParmAtOffset(opts, OPT_mrafslogs, "-mrafslogs", CMD_FLAG,
CMD_OPTIONAL, "enable MRAFS style logging");
+ cmd_AddParmAtOffset(opts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+ CMD_OPTIONAL, "enable Transarc style logging");
cmd_AddParmAtOffset(opts, OPT_threads, "-p", CMD_SINGLE, CMD_OPTIONAL,
"number of threads");
#ifdef HAVE_SYSLOG
fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.\n");
return -1;
}
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.\n");
+ return -1;
+ }
if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
fprintf(stderr, "Invalid options: -syslog and -mrafslogs are exclusive.\n");
return -1;
#endif
{
logopts.lopt_dest = logDest_file;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
+
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
+ fprintf(stderr,
+ "Invalid options: -transarc-logs and -mrafslogs are exclusive.\n");
+ return -1;
+ }
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ } else if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateOnReset = 1;
+ logopts.lopt_rotateStyle = logRotate_timestamp;
+ }
if (cmd_OptionPresent(opts, OPT_logfile))
cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
else
logopts.lopt_filename = AFSDIR_SERVER_FILELOG_FILEPATH;
- if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
- logopts.lopt_rotateOnReset = 1;
- logopts.lopt_rotateStyle = logRotate_timestamp;
- }
}
cmd_OptionAsInt(opts, OPT_debug, &logopts.lopt_logLevel);
OPT_rxmaxmtu,
OPT_trace,
OPT_dotted,
- OPT_restricted_query
+ OPT_restricted_query,
+ OPT_transarc_logs
};
int
cmd_AddParmAtOffset(opts, OPT_syslog, "-syslog", CMD_SINGLE_OR_FLAG,
CMD_OPTIONAL, "log to syslog");
#endif
+ cmd_AddParmAtOffset(opts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+ CMD_OPTIONAL, "enable Transarc style logging");
/* rx options */
cmd_AddParmAtOffset(opts, OPT_peer, "-enable_peer_stats", CMD_FLAG,
fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.\n");
return -1;
}
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.\n");
+ return -1;
+ }
logopts.lopt_dest = logDest_syslog;
logopts.lopt_facility = LOG_DAEMON; /* default value */
#endif
{
logopts.lopt_dest = logDest_file;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
-
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ }
if (cmd_OptionPresent(opts, OPT_logfile))
cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
else
OPT_syslog,
OPT_syslogfacility,
OPT_logfile,
- OPT_client
+ OPT_client,
+ OPT_transarc_logs
};
static int
fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.\n");
return -1;
}
-
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.\n");
+ return -1;
+ }
logopts.lopt_dest = logDest_syslog;
logopts.lopt_facility = LOG_DAEMON;
logopts.lopt_tag = "salvageserver";
#endif
{
logopts.lopt_dest = logDest_file;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
-
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ }
if (cmd_OptionPresent(opts, OPT_logfile))
cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
else
cmd_AddParmAtOffset(ts, OPT_logfile, "-logfile", CMD_SINGLE, CMD_OPTIONAL,
"Location of log file ");
+ cmd_AddParmAtOffset(ts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+ CMD_OPTIONAL, "enable Transarc style logging");
+
err = cmd_Dispatch(argc, argv);
Exit(err);
return 0; /* not reached */
#endif
OPT_logfile,
OPT_config,
- OPT_restricted_query
+ OPT_restricted_query,
+ OPT_transarc_logs
};
static int
cmd_AddParmAtOffset(opts, OPT_syslog, "-syslog", CMD_SINGLE_OR_FLAG,
CMD_OPTIONAL, "log to syslog");
#endif
+ cmd_AddParmAtOffset(opts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+ CMD_OPTIONAL, "enable Transarc style logging");
cmd_AddParmAtOffset(opts, OPT_sync, "-sync",
CMD_SINGLE, CMD_OPTIONAL, "always | onclose | never");
cmd_AddParmAtOffset(opts, OPT_logfile, "-logfile", CMD_SINGLE,
fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.\n");
return -1;
}
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.\n");
+ return -1;
+ }
logopts.lopt_dest = logDest_syslog;
logopts.lopt_facility = LOG_DAEMON;
logopts.lopt_tag = "volserver";
#endif
{
logopts.lopt_dest = logDest_file;
- logopts.lopt_rotateOnOpen = 1;
- logopts.lopt_rotateStyle = logRotate_old;
-
+ if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+ }
if (cmd_OptionPresent(opts, OPT_logfile))
cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
else