zoukankan      html  css  js  c++  java
  • 【原创】Linux基础之logrotate

    logrotate

    logrotate ‐ rotates, compresses, and mails system logs

    logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files. Each log file may be
    handled daily, weekly, monthly, or when it grows too large.

    Normally, logrotate is run as a daily cron job. It will not modify a log more than once in one day unless the criterion for that log is based on the log's size and logrotate is being run more than once
    each day, or unless the -f or --force option is used.

    Any number of config files may be given on the command line. Later config files may override the options given in earlier files, so the order in which the logrotate config files are listed is important.
    Normally, a single config file which includes any other config files which are needed should be used. See below for more information on how to use the include directive to accomplish this. If a direc‐
    tory is given on the command line, every file in that directory is used as a config file.

    If no command line arguments are given, logrotate will print version and copyright information, along with a short usage summary. If any errors occur while rotating logs, logrotate will exit with non-
    zero status.

    配置文件

    /etc/logrotate.conf

    /etc/logrotate.d/*

    tomcat文件按天滚动压缩并保留最近7天示例

    # cat /etc/logrotate.d/tomcat.conf
    /path/to/catalina.out { daily missingok copytruncate notifempty size 102400 dateext compress rotate 3 }

    常用参数:

    compress
    Old versions of log files are compressed with gzip(1) by default. See also nocompress.

    copytruncate
    Truncate the original log file to zero size in place after creating a copy, instead of moving the old log file and optionally creating a new one. It can be used when some program cannot be told
    to close its logfile and thus might continue writing (appending) to the previous log file forever. Note that there is a very small time slice between copying the file and truncating it, so some
    logging data might be lost. When this option is used, the create option will have no effect, as the old log file stays in place.

    daily

    Log files are rotated every day.

    dateext
    Archive old versions of log files adding a date extension like YYYYMMDD instead of simply adding a number. The extension may be configured using the dateformat and dateyesterday options.

    minsize size
    Log files are rotated when they grow bigger than size bytes, but not before the additionally specified time interval (daily, weekly, monthly, or yearly). The related size option is similar
    except that it is mutually exclusive with the time interval options, and it causes log files to be rotated without regard for the last rotation time. When minsize is used, both the size and
    timestamp of a log file are considered.

    rotate count
    Log files are rotated count times before being removed or mailed to the address specified in a mail directive. If count is 0, old versions are removed rather than rotated.

    size size
    Log files are rotated only if they grow bigger then size bytes. If size is followed by k, the size is assumed to be in kilobytes. If the M is used, the size is in megabytes, and if G is used,
    the size is in gigabytes. So size 100, size 100k, size 100M and size 100G are all valid.

    weekly [weekday]
    Log files are rotated once each weekday, or if the date is advanced by at least 7 days since the last rotation (while ignoring the exact time). The weekday intepretation is following: 0 means
    Sunday, 1 means Monday, ..., 6 means Saturday; the special value 7 means each 7 days, irrespectively of weekday. Defaults to 0 if the weekday argument is omitted.

    missingok
    If the log file is missing, go on to the next one without issuing an error message. See also nomissingok.

    参考:

    $ man logrotate

  • 相关阅读:
    区分replace()和replaceAll()
    error:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
    关于设计SQL表的一些问题
    SQL语句的学习理解
    error:安装手电筒程序后在打开程序后报错:你的camera flashlight正在被其他程序占据
    Error:Execution failed for task ':app:processDebugGoogleServices'. > No matching client found for package name 'com.fortythree.sos.flashlight'
    Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/adp;
    Android Studio 封装的类的继承
    Android SDK安装
    MongoDB探索之路(二)——系统设计之CRUD
  • 原文地址:https://www.cnblogs.com/barneywill/p/11048090.html
Copyright © 2011-2022 走看看