summaryrefslogtreecommitdiff
path: root/usr/src/cmd/logadm
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/logadm')
-rw-r--r--usr/src/cmd/logadm/Makefile2
-rw-r--r--usr/src/cmd/logadm/conf.c5
-rw-r--r--usr/src/cmd/logadm/glob.c6
-rw-r--r--usr/src/cmd/logadm/logadm.conf11
-rw-r--r--usr/src/cmd/logadm/main.c24
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);