zoukankan      html  css  js  c++  java
  • shell功能

    日志切割:

    function rotate() {
    logs_path=$1
     
    echo Rotating Log: $1
    cp ${logs_path} ${logs_path}.$(date -d "yesterday" +"%Y%m%d")
    > ${logs_path}
        rm -f ${logs_path}.$(date -d "7 days ago" +"%Y%m%d")
    }
     
    for i in $*
    do
            rotate $i
    done

     将错误输出重定向到文件并添加时间等注释,并且不影响正常命令的执行(相当于把错误赋值给变量)

    for i in 11.py xiao/22.py
    do
      a=`touch $i 2>&1`
      [ $? -eq 0 ] || echo "`date  +%F__%T` : $a" >err.log
    done

     脚本目的:在全集中找子集的补集,适用于本应该全集这么多,而实际上缺少的部分。两个文件做对比,有个文件少了哪些行的内容。

    #cat hostbuji.sh
    #!/bin/bash
    quanji=$1
    ziji=$2
    [ $# -ne 2 ] && echo -e "usage: sh $0 quanji ziji
    脚本目的:在全集中找子集的补集,适用于本应该全集这么多,而实际上缺少的部分。" && exit 1
    for i in `cat ${quanji}`
    do
      flag=0
      for j in `cat ${ziji}`
      do
      if [ ! "$i" == "$j" ]
      then
        continue
      else
        flag=1
      fi
      done
      [ "$flag" == 0 ] && echo $i
    done

  • 相关阅读:
    MySQL 存储过程
    linux iptables 相关设置
    Ubuntu iptables 设置
    Mac OS 10.12
    解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
    go get golang.org/x/net 安装失败的解决方法!
    Ubuntu16.04
    Ubuntu16.04
    Ubuntu16.04
    在Ubuntu16.04里面安装Gogland!
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/8904035.html
Copyright © 2011-2022 走看看