用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
第一部分 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 第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 可以选择使用符号...
1. 为什么使用shell 编程 2. 带着一个Sha-Bang 出发(Sha-Bang 指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量赋值 4.3. Bash 变量是不分...
第一部分 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 可以选择使用符号...
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 小结 ...
使用export命令传递一个变量到一个内嵌awk的脚本中 11-19. 使用getopts命令来读取传递给脚本的选项/参数. 11-20. "Including"一个数据文件 11-21. 一个没什么用的,source自身的脚本 11-22. exec的效果 11-23. 一个...
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 小结 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了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命令及语法,还涉及了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命令及语法,还涉及了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编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...
第一部分 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 可以选择使用符号...