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 b9ee0560ea..7b959c0dba 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 @@ -36,6 +37,7 @@ CPPFLAGS += -D_FILE_OFFSET_BITS=64 CERRWARN += -_gcc=-Wno-parentheses CERRWARN += -_gcc=-Wno-clobbered CERRWARN += $(CNOWARN_UNINIT) +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 25bcc4f63d..93837fbebf 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 7b19473a19..39eea57578 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(1M) diff --git a/usr/src/cmd/logadm/main.c b/usr/src/cmd/logadm/main.c index 624397d41f..15f71be166 100644 --- a/usr/src/cmd/logadm/main.c +++ b/usr/src/cmd/logadm/main.c @@ -603,17 +603,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" */ @@ -1074,7 +1071,6 @@ docmd(struct opts *opts, const char *msg, const char *cmd, (arg2) ? arg2 : "", (arg3) ? " " : "", (arg3) ? arg3 : ""); - first = B_FALSE; } err_fromfd(pfd.fd); } @@ -1084,7 +1080,6 @@ docmd(struct opts *opts, const char *msg, const char *cmd, } if (waitpid(pid, &wstat, 0) < 0) { err(EF_SYS, "waitpid"); - return; } if (!first) { @@ -1149,20 +1144,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); @@ -1188,10 +1178,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) { @@ -1231,10 +1217,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); @@ -1249,12 +1231,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); |