`
canofy
  • 浏览: 821026 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

统计系统一-----用shell写的一些函数

阅读更多
用shell写的一些函数
属于统计系统的一部分,之后会慢慢写出来其它的部分
#获取当前时间
getCurrentTime(){
    current_time=`date --date="now" +%Y-%m-%d' '%H:%M:%S`;
    echo $current_time;
}

#时间格式的转换
#如:2009-05-14 19:01:12   转换成 2009-05-14-19 
formate_date(){
    time=$1;
    if [ -z "${time}" ]
    then
       pass; 
    else
        echo $time|sed -n 's/ /-/p'|cut -b1-13 
    fi
}

#记录日志
logInfo(){
    info=$1;
    fileName=$2;
    #判断文件是否存在,不存在则建立文件
    #if [ -e "${fileName}" ]; then
    #    touch $fileName;
    #fi
    echo $(getCurrentTime)	$info>>$fileName
}

#发送邮件
#第一个参数为主题
#第二个参数为内容
#配置文件的每一行为一个邮箱
send_mail(){
    #mailfile="/usr/local/qs/p/config/mail.config"
    subject=$1 
    content=$2
    mailfile=$3
    #组装邮件的发送地址
    mailto=$(cat $mailfile |sed -n '1'p);
    maillist=$(cat $mailfile |sed -n '2,$'p); 
    if [ -n "$maillist" ] ; then 
        for email in $maillist ;do 
            mailto=$mailto" -c "$email  
        done 
    fi
    #发送邮件
    echo $content|mail -s $subject $mailto 
}

#获取配置文件的值
#配置文件的格式如:key=value
#第一个参数为key
#第二个参数为配置文件,需要绝对路径
#返回value
getConfigValue(){
    key=$1;
    configFile=$2;
    #aa=$key为向awk传递值进去做处理
    value=$(awk  -F"=" '$1==aa {print $2}' aa=$key $configFile);
    echo $value
}

#从url中获取ip地址
#如:http://192.168.1.55/webdav 返回的值是192.168.1.55
getIpByUrl(){
    ulr=$1;
    #ip=`echo $url |sed -n 's/[a-z:/-]*$//p'|sed -n 's/^[a-z:/-]*//p'`
    ip=`echo $url|sed -n 's/^http:\/\/\([^/]*\)\/.*$/\1/p'`
    echo $ip
}

#获取日志的文件名
#第一个参数为时间
#第二个参数为配置文件中日志的key值
#第三参数为配置文件
#返回日志的最终名称,其实就是把XXXX-XX-XX-XX替换为时间
getLogName(){
    lasthour=$1;
    key=$2;
    configFile=$3;
    value=$(awk  -F"=" '$1==aa {print $2}' aa=$key $configFile|sed s/XXXX-XX-XX-XX/"$lasthour"/g );
    echo $value
}


#获取下载日志文件的具体路径,若没有该ip的目录,则新建目录
#如:192.168.1.55 若没有该目录,则新建一个192.168.1.55的目录
#第一个参数为路径
#第二个参数为ip地址
getDownPath(){
    ip=$2;
    path=$1;
    rp=$path"/"$ip
    if [ ! -e "$rp" ] ; then
        mkdir $rp
    fi
    echo $rp
}

#获取上一层的路径的路径(相当于工作目录)
getWorkPath(){
    path=`pwd|sed -n 's/\(\/[a-z]*\)$/ /p'`
    echo $path
}


分享到:
评论

相关推荐

    Linux运维-运维系统服务04-Shell脚本d6-Shell函数与正则表达式-02实战案例3统计web服务的连接状态.mp4

    Linux运维-运维系统服务04-Shell脚本d6-Shell函数与正则表达式-02实战案例3统计web

    shell 编程指南pdf

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    Advanced Bash-Scripting Guide <>

    1. 为什么使用shell 编程 2. 带着一个Sha-Bang 出发(Sha-Bang 指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量赋值 4.3. Bash 变量是不分...

    LINUX与UNIX SHELL编程指南(很全)

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    Linux与unix shell编程指南

    19.10.2 编辑shell函数 206 19.10.3 函数举例 207 19.10.4 将函数集中在一起 219 19.11 函数调用 219 19.11.1 在脚本中调用函数 219 19.11.2 从函数文件中调用函数 220 19.12 定位文件不只用于函数 222 19.13 小结 ...

    Linux高级bash编程

    使用export命令传递一个变量到一个内嵌awk的脚本中 11-19. 使用getopts命令来读取传递给脚本的选项/参数. 11-20. "Including"一个数据文件 11-21. 一个没什么用的,source自身的脚本 11-22. exec的效果 11-23. 一个...

    绝版经典《Linux与UNIX Shell编程指南》

    19.10.2 编辑shell函数 206 19.10.3 函数举例 207 19.10.4 将函数集中在一起 219 19.11 函数调用 219 19.11.1 在脚本中调用函数 219 19.11.2 从函数文件中调用函数 220 19.12 定位文件不只用于函数 222 19.13 小结 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    linux shell 编程教程

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    Linux_unix_shell第一部分编程(共两部分)

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    shell编程和unix命令

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    LINUX与UNIX SHELL编程指南

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    linux与unix shell编程指南.rar

    linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...

    LINUX与UNIX Shell编程指南

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

Global site tag (gtag.js) - Google Analytics