Date: Sun, 13 Jan 2013 04:14:46 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245360 - stable/9/usr.sbin/newsyslog Message-ID: <201301130414.r0D4EkU7095856@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Sun Jan 13 04:14:46 2013 New Revision: 245360 URL: http://svnweb.freebsd.org/changeset/base/245360 Log: MFC r244995 r244996 r244997. MFC r244995: Fix a typo in an error message. MFC r244996: Have -n imply -r, since dry-run mode obviously doesn't require root privileges. MFC r244997: Make sure to update the mtime of a logfile after archiving it. This ensures that the next rotation happens at the correct time when using interval-based rotations. Approved by: rstone (co-mentor) Modified: stable/9/usr.sbin/newsyslog/newsyslog.8 stable/9/usr.sbin/newsyslog/newsyslog.c Directory Properties: stable/9/usr.sbin/newsyslog/ (props changed) Modified: stable/9/usr.sbin/newsyslog/newsyslog.8 ============================================================================== --- stable/9/usr.sbin/newsyslog/newsyslog.8 Sun Jan 13 04:14:30 2013 (r245359) +++ stable/9/usr.sbin/newsyslog/newsyslog.8 Sun Jan 13 04:14:46 2013 (r245360) @@ -125,7 +125,9 @@ reasons for either trimming that log or Cause .Nm not to trim the logs, but to print out what it would do if this option -were not specified. +were not specified. This option implies the +.Fl r +option. .It Fl r Remove the restriction that .Nm Modified: stable/9/usr.sbin/newsyslog/newsyslog.c ============================================================================== --- stable/9/usr.sbin/newsyslog/newsyslog.c Sun Jan 13 04:14:30 2013 (r245359) +++ stable/9/usr.sbin/newsyslog/newsyslog.c Sun Jan 13 04:14:46 2013 (r245360) @@ -642,7 +642,7 @@ parse_args(int argc, char **argv) break; case 'n': noaction++; - break; + /* FALLTHROUGH */ case 'r': needroot = 0; break; @@ -1580,7 +1580,7 @@ delete_oldest_timelog(const struct conf_ oldlogs[i].fname); else if (unlinkat(dirfd, oldlogs[i].fname, 0) != 0) { snprintf(errbuf, sizeof(errbuf), - "Could not delet old logfile '%s'", + "Could not delete old logfile '%s'", oldlogs[i].fname); perror(errbuf); } @@ -1812,12 +1812,21 @@ do_rotate(const struct conf_entry *ent) printf("\tcp %s %s\n", ent->log, file1); else printf("\tln %s %s\n", ent->log, file1); + printf("\ttouch %s\t\t" + "# Update mtime for 'when'-interval processing\n", + file1); } else { if (!(flags & CE_BINARY)) { /* Report the trimming to the old log */ log_trim(ent->log, ent); } savelog(ent->log, file1); + /* + * Interval-based rotations are done using the mtime of + * the most recently archived log, so make sure it gets + * updated during a rotation. + */ + utimes(file1, NULL); } change_attrs(file1, ent); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301130414.r0D4EkU7095856>