diff options
Diffstat (limited to 'usr/src/cmd/logadm')
| -rw-r--r-- | usr/src/cmd/logadm/Makefile | 2 | ||||
| -rw-r--r-- | usr/src/cmd/logadm/conf.c | 5 | ||||
| -rw-r--r-- | usr/src/cmd/logadm/glob.c | 6 | ||||
| -rw-r--r-- | usr/src/cmd/logadm/logadm.conf | 11 | ||||
| -rw-r--r-- | usr/src/cmd/logadm/main.c | 24 | 
5 files changed, 14 insertions, 34 deletions
| diff --git a/usr/src/cmd/logadm/Makefile b/usr/src/cmd/logadm/Makefile index 1b88186dcc..82cd4e5398 100644 --- a/usr/src/cmd/logadm/Makefile +++ b/usr/src/cmd/logadm/Makefile @@ -20,6 +20,7 @@  #  #  # Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright 2019 Joyent, Inc.  #  PROG= logadm @@ -35,6 +36,7 @@ include ../Makefile.cmd  CPPFLAGS += -D_FILE_OFFSET_BITS=64  CERRWARN += -_gcc=-Wno-parentheses  CERRWARN += -_gcc=-Wno-clobbered +CERRWARN += -_gcc=-Wno-unused-label  XGETFLAGS += -a -x logadm.xcl  $(ROOTETC)/$(CONFIGFILE):= FILEMODE= 644 diff --git a/usr/src/cmd/logadm/conf.c b/usr/src/cmd/logadm/conf.c index a4275ce378..c910dabef7 100644 --- a/usr/src/cmd/logadm/conf.c +++ b/usr/src/cmd/logadm/conf.c @@ -21,7 +21,7 @@  /*   * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2013, Joyent, Inc. All rights reserved. + * Copyright 2019 Joyent, Inc.   * Copyright 2018 Sebastian Wiedenroth   */ @@ -279,8 +279,6 @@ conf_scan(const char *fname, char *buf, int buflen, int timescan)  			if (SETJMP) {  				err(EF_FILE, "cannot process invalid entry %s",  				    entry); -				ret = 0; -				LOCAL_ERR_BREAK;  			}  			if (timescan) { @@ -529,7 +527,6 @@ conf_close(struct opts *opts)  			(void) unlink(tuname);  		err(EF_JMP, "unsafe to update configuration file "  		    "or timestamps"); -		return;  	}  	/* rename updated files into place */ diff --git a/usr/src/cmd/logadm/glob.c b/usr/src/cmd/logadm/glob.c index 338a1c6b9f..0978c876e9 100644 --- a/usr/src/cmd/logadm/glob.c +++ b/usr/src/cmd/logadm/glob.c @@ -22,6 +22,8 @@   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.   * Use is subject to license terms.   * + * Copyright 2019 Joyent, Inc. + *   * logadm/glob.c -- globbing routines   *   * these routines support two kinds of globs.  first, the @@ -62,8 +64,6 @@   * braces, and don't support the more powerful reglobs required by logadm.   */ -#pragma ident	"%Z%%M%	%I%	%E% SMI" -  #include <stdio.h>  #include <libintl.h>  #include <stdlib.h> @@ -100,8 +100,6 @@ glob_debrace(struct fn *fnp)  	while (sp != NULL && (left = strchr(sp, '{')) != NULL)  		if ((right = strchr(left, '}')) == NULL) {  			err(EF_FILE|EF_JMP, "Missing }"); -			fn_list_free(ret); -			return (NULL);  		} else {  			/* stuff before "left" is finished */  			fn_list_appendrange(ret, sp, left); diff --git a/usr/src/cmd/logadm/logadm.conf b/usr/src/cmd/logadm/logadm.conf index 706bcff7b5..6c0df38306 100644 --- a/usr/src/cmd/logadm/logadm.conf +++ b/usr/src/cmd/logadm/logadm.conf @@ -19,6 +19,7 @@  # CDDL HEADER END  #  # Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, Joyent, Inc.  #  # logadm.conf  # @@ -35,12 +36,18 @@  # logadm typically runs early every morning via an entry in  # root's crontab (see crontab(1)).  # -/var/log/syslog -C 8 -a 'kill -HUP `cat /var/run/syslog.pid`' -/var/adm/messages -C 4 -a 'kill -HUP `cat /var/run/syslog.pid`' +/var/log/syslog -C 8 -a 'kill -HUP `cat /var/run/*syslog*.pid`' +/var/adm/messages -C 4 -a 'kill -HUP `cat /var/run/*syslog*.pid`'  /var/cron/log -c -s 512k -t /var/cron/olog  /var/lp/logs/lpsched -C 2 -N -t '$file.$N'  /var/fm/fmd/errlog -N -s 2m -M '/usr/sbin/fmadm -q rotate errlog && mv /var/fm/fmd/errlog.0- $nfile'  /var/fm/fmd/fltlog -N -A 6m -s 10m -M '/usr/sbin/fmadm -q rotate fltlog && mv /var/fm/fmd/fltlog.0- $nfile' +vm_logs /var/log/vm/vmadm.log -b '/usr/vm/sbin/rotate-logs.sh -m /var/log/vm/logs/ /var/log/vm/vmadm.log' -t '/var/log/vm/vmadm_$nodename_%FT%H:%M:%S.log' -C 168 -S 1g -p 1h +fw_logs /var/log/fw/fwadm.log -b '/usr/vm/sbin/rotate-logs.sh -i /var/log/fw/logs/ /var/log/fw/fwadm.log' -t '/var/log/fw/fwadm_$nodename_%FT%H:%M:%S.log' -C 168 -S 1g -p 1h +vmadmd_logs /var/svc/log/*vmadmd*.log -C 168 -S 1g -c -p 1h -t '/var/log/vm/vmadmd_$nodename_%FT%H:%M:%S.log' +vminfod_logs /var/svc/log/*vminfod*.log -C 168 -S 1g -c -p 1h -t '/var/log/vm/vminfod_$nodename_%FT%H:%M:%S.log' +/var/log/*.log -C 2 -s 5m -c +/var/log/*.debug -C 2 -s 5m -c  smf_logs /var/svc/log/*.log -C 8 -s 1m -c  #  # The entry below is used by turnacct(8) diff --git a/usr/src/cmd/logadm/main.c b/usr/src/cmd/logadm/main.c index 4423fd7ea3..3c959841f5 100644 --- a/usr/src/cmd/logadm/main.c +++ b/usr/src/cmd/logadm/main.c @@ -605,17 +605,14 @@ rotatelog(struct fn *fnp, struct opts *opts)  		if (opts_count(opts, "N"))  			return (1);  		err(EF_WARN|EF_SYS, "%s", fname); -		return (B_FALSE);  	}  	if ((stbuf.st_mode & S_IFMT) == S_IFLNK) {  		err(EF_WARN, "%s is a symlink", fname); -		return (B_FALSE);  	}  	if ((stbuf.st_mode & S_IFMT) != S_IFREG) {  		err(EF_WARN, "%s is not a regular file", fname); -		return (B_FALSE);  	}  	/* even if size condition is not met, this entry is "done" */ @@ -1076,7 +1073,6 @@ docmd(struct opts *opts, const char *msg, const char *cmd,  					    (arg2) ? arg2 : "",  					    (arg3) ? " " : "",  					    (arg3) ? arg3 : ""); -					first = B_FALSE;  				}  				err_fromfd(pfd.fd);  			} @@ -1086,7 +1082,6 @@ docmd(struct opts *opts, const char *msg, const char *cmd,  		}  		if (waitpid(pid, &wstat, 0) < 0) {  			err(EF_SYS, "waitpid"); -			return;  		}  		if (!first) { @@ -1151,20 +1146,15 @@ docopytruncate(struct opts *opts, const char *file, const char *file_copy)  	/* open log file to be rotated and remember its chmod mask */  	if ((fi = open(file, O_RDWR)) < 0) {  		err(EF_SYS, "cannot open file %s", file); -		return;  	}  	if (fstat(fi, &s) < 0) {  		err(EF_SYS, "cannot access: %s", file); -		(void) close(fi); -		return;  	}  	/* create new file for copy destination with correct attributes */  	if ((fo = open(file_copy, O_CREAT|O_TRUNC|O_WRONLY, s.st_mode)) < 0) {  		err(EF_SYS, "cannot create file: %s", file_copy); -		(void) close(fi); -		return;  	}  	(void) fchown(fo, s.st_uid, s.st_gid); @@ -1190,10 +1180,6 @@ docopytruncate(struct opts *opts, const char *file, const char *file_copy)  	do {  		if (fstat(fi, &s) < 0) {  			err(EF_SYS, "cannot stat: %s", file); -			(void) close(fi); -			(void) close(fo); -			(void) remove(file_copy); -			return;  		}  		if ((rem = s.st_size - written) < thresh) { @@ -1233,10 +1219,6 @@ docopytruncate(struct opts *opts, const char *file, const char *file_copy)  			}  			err(EF_SYS, "cannot write into file %s", file_copy); -			(void) close(fi); -			(void) close(fo); -			(void) remove(file_copy); -			return;  		}  	} while (len >= 0); @@ -1251,12 +1233,6 @@ docopytruncate(struct opts *opts, const char *file, const char *file_copy)  	while ((len = read(fi, buf, sizeof (buf))) > 0)  		if (write(fo, buf, len) != len) {  			err(EF_SYS, "cannot write into file %s", file_copy); -			(void) lockf(fi, F_ULOCK, 0); -			(void) fchmod(fi, s.st_mode); -			(void) close(fi); -			(void) close(fo); -			(void) remove(file_copy); -			return;  		}  	(void) ftruncate(fi, 0); | 
