- 脚本目录
- 方法编写
- 脚本调用
- 直接调用
- 嵌套调用
- 脚本执行
- 日志查看
- 目录查看
- 日志查看
- 参考
[root@node1 logformat]# tree
.
├── bin
│ └── install.sh
├── exe_script
│ ├── install_111.sh
│ ├── install_elasticsearch.sh
│ ├── install_jdk.sh
│ ├── install_oracle.sh
│ └── install_zookeeper.sh
├── logs
└── tools
└── logformat.sh
4 directories, 7 files
方法编写
[root@node1 logformat]# cat tools/logformat.sh
#!/bin/bash
function logf()
{
logtype=$1
message=$2
logdir="../logs"
logfile=`echo $(basename $0) | awk -F '.' '{print $1}'`".log"
case ${logtype} in
error)
echo -e " 33[31m`date +'%F %H:%M:%S'`t[$1]t$2 33[0m" | tee -a ${logdir}/${logfile}
;;
info)
echo -e " 33[32m`date +'%F %H:%M:%S'`t[$1]t$2 33[0m" | tee -a ${logdir}/${logfile}
;;
warn)
echo -e " 33[33m`date +'%F %H:%M:%S'`t[$1]t$2 33[0m" | tee -a ${logdir}/${logfile}
;;
esac
}
脚本调用
# 方法名(logf) 日志类别(info、warn、error) 日志信息(xxx xxxx xxxx)直接调用
- bin/install.sh
[root@node1 logformat]# cat bin/install.sh
#!/bin/bash
source ../tools/logformat.sh
for service in jdk oracle elasticsearch zookeeper
do
logf info "install.sh -- will install ${service}"
sh ../exe_script/install_${service}.sh
done
嵌套调用
- exe_script/install_jdk.sh
[root@node1 logformat]# cat exe_script/install_jdk.sh #!/bin/bash source ../tools/logformat.sh logf info "exec -- install service jdk"
- exe_script/install_oracle.sh
[root@node1 logformat]# cat exe_script/install_oracle.sh #!/bin/bash source ../tools/logformat.sh logf info "exec -- install service oracle"脚本执行
[root@node1 logformat]# cd bin/ && sh install.sh 2021-10-19 17:43:17 [info] install.sh -- will install jdk 2021-10-19 17:43:17 [info] exec -- install service jdk 2021-10-19 17:43:17 [info] install.sh -- will install oracle 2021-10-19 17:43:17 [info] exec -- install service oracle 2021-10-19 17:43:17 [info] install.sh -- will install elasticsearch 2021-10-19 17:43:17 [info] exec -- install service elasticsearch 2021-10-19 17:43:17 [info] install.sh -- will install zookeeper 2021-10-19 17:43:17 [info] exec -- install service zookeeper日志查看 目录查看
[root@node1 logformat]# tree logs/ logs/ ├── install_elasticsearch.log ├── install_jdk.log ├── install.log ├── install_oracle.log └── install_zookeeper.log 0 directories, 5 files日志查看
- 直接调用
[root@node1 logformat]# cat logs/install.log 2021-10-19 17:43:17 [info] install.sh -- will install jdk 2021-10-19 17:43:17 [info] install.sh -- will install oracle 2021-10-19 17:43:17 [info] install.sh -- will install elasticsearch 2021-10-19 17:43:17 [info] install.sh -- will install zookeeper
- 嵌套调用
# install_jdk.sh [root@node1 logformat]# cat logs/install_jdk.log 2021-10-19 17:43:17 [info] exec -- install service jdk # install_oracle.sh [root@node1 logformat]# cat logs/install_oracle.log 2021-10-19 17:43:17 [info] exec -- install service oracle参考
-
The method of shell script output at different log level
-
Prefixing logs with date in shell script



