文件操作 - applystddate
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/logwatch/scripts/shared/applystddate
编辑文件内容
########################################################################## # $Id: applystddate,v 1.19 2008/03/24 23:31:27 kirk Exp $ ########################################################################## ######################################################## ## Copyright (c) 2008 Kirk Bauer ## Covered under the included MIT/X-Consortium License: ## http://www.opensource.org/licenses/mit-license.php ## All modifications and contributions by other persons to ## this script are assumed to have been donated to the ## Logwatch project and thus assume the above copyright ## and licensing terms. If you want to make contributions ## under your own copyright or a different license this ## must be explicitly stated in the contribution an the ## Logwatch project reserves the right to not accept such ## contributions. If you have made significant ## contributions to this script and want to claim ## copyright please contact logwatch-devel@lists.sourceforge.net. ######################################################### use Logwatch ':dates'; my $Debug = $ENV{'LOGWATCH_DEBUG'} || 0; # customize the Timefilter by appending a string: # *ApplyStdDate = "%H:%M %d/%m/%Y" $SearchDate = TimeFilter($ARGV[0] || '%b %e %H:%M:%S'); $SearchDateRsyslog = TimeFilter('%Y-%m-%dT%H:%M:%S\.[0-9]+[+-][0-9]{2}:[0-9]{2}'); # The date might be "Dec 09", but it needs to be "Dec 9"... #$SearchDate =~ s/ 0/ /; if ( $Debug > 5 ) { print STDERR "DEBUG: Inside ApplyStdDate...\n"; print STDERR "DEBUG: Looking For: " . $SearchDate . "\n"; print STDERR "DEBUG: Looking For: " . $SearchDateRsyslog . "\n"; } while (defined($ThisLine = <STDIN>)) { if ($ThisLine =~ m/^$SearchDate /o) { print $ThisLine; } elsif ($ThisLine =~ /^$SearchDateRsyslog /o) { $ThisLine =~ s/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})\.[0-9]+[+-][0-9]{2}:[0-9]{2} //o; print POSIX::strftime("%b %e %H:%M:%S", $6, $5, $4, $3+1, $2-1, $1 - 1900) . " " . $ThisLine; } elsif ($ThisLine =~ m/(Mon|Tue|Wed|Thu|Fri|Sat|Sun) $SearchDate \d{4}/o) { print $ThisLine; } } # vi: shiftwidth=3 syntax=perl tabstop=3 et # Local Variables: # mode: perl # perl-indent-level: 3 # indent-tabs-mode: nil # End:
修改文件时间
将文件时间修改为当前时间的前一年
删除文件