Welcome 微信登录

首页 / 操作系统 / Linux / Linux下一个检查跑批是否成功的Shell

Shell脚本如下:cat log_check.shexport yesterday=`date -d "1 days ago" +%Y%m%d`
export today=`date +%Y%m%d`
if [ -z $(ls /root/edw/bad) ] && [ -f /root/edw/ok_$yesterday.dat ]; then
echo [$today]"Run batch success!">>log_check.log
else
echo [$today]"Run batch failed!Please call to inform the relevant staff!">>log_check.log
fi
知识点:1、 Linux上取昨天日期yesterday=`date -d "1 days ago" +%Y%m%d`2、 文件是否存在的判断[ -f /root/edw/ok_$yesterday.dat ]3、 目录是否为空的判断[ -z $(ls /root/edw/bad) ]注:这里的字符串用到了一个ls命令来判断4、 两个条件之间的关联这里用到与的关系:&&其中:[ -z $(ls /root/edw/bad) ] && [ -f /root/edw/ok_$yesterday.dat ]与[ -z $(ls /root/edw/bad)  -a -f /root/edw/ok_$yesterday.dat ]是等效的,表达的一个意思。5、 If-if结构If 条件; then命令1Else命令2fi6、 对运行结果的过滤查看,如查看当天的跑批运行情况awk "/[`date +%Y%m%d`]/{print $0 }" log_check.log说明:过滤出日期为今天的,并且打印所有内容。