zoukankan      html  css  js  c++  java
  • linux清除日志文件

    #!/bin/bash
    # 清除log文件
    
    LOG_DIR=/var/log
    ROOT_UID=0     # $UID为0的时候,用户才具有root用户的权限
    LINES=50       # 默认的保存行数
    E_XCD=66       # 不能修改目录?
    E_NOTROOT=67   # 非root用户将以error退出
    
    # 要使用root用户来运行.
    if [ "$UID" -ne "$ROOT_UID" ]
    then
      echo "Must be root to run this script."
      exit $E_NOTROOT
    fi  
    
    if [ -n "$1" ]
    # 测试是否有命令行参数(非空).
    then
      lines=$1
    else  
      lines=$LINES # 默认,如果不在命令行中指定.
    fi  
    
    #  也可以使用下边来检测命令行参数.
    #
    #    E_WRONGARGS=65  # 非数值参数(错误的参数格式)
    #
    #    case "$1" in
    #    ""      ) lines=50;;
    #    *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
    #    *       ) lines=$1;;
    #    esac
    
    cd $LOG_DIR
    
    if [ `pwd` != "$LOG_DIR" ]  # 或者    if[ "$PWD" != "$LOG_DIR" ]
                                # 不在 /var/log中?
    then
      echo "Can't change to $LOG_DIR."
      exit $E_XCD
    fi  # 在处理log file之前,再确认一遍当前目录是否正确.
    
    # 更有效率的做法是:
    #
    # cd /var/log || {
    #   echo "Cannot change to necessary directory." >&2
    #   exit $E_XCD;
    # }
    
    tail -$lines messages > mesg.temp # 保存log file消息的最后部分.
    mv mesg.temp messages             # 变为新的log目录.
    
    # cat /dev/null > messages
    #* 不再需要了,使用上边的方法更安全.
    
    cat /dev/null > wtmp  #  ': > wtmp''> wtmp'具有相同的作用
    echo "Logs cleaned up."
    
    exit 0
    #  退出之前返回0,
    #  返回0表示成功.
  • 相关阅读:
    查看mysql日志
    Redis配置和常用命令
    任务
    如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下
    Tomcat8安装, 安全配置与性能优化(转)
    Web.xml详解(转)
    php精度比较函数bccomp
    php找到字符数组里最左匹配长度的字符(最长公共前缀匹配算法)
    PHP实现curl post和get
    Jquery 跨Dom窗口操作
  • 原文地址:https://www.cnblogs.com/zx3212/p/9072530.html
Copyright © 2011-2022 走看看