改进脚本以使其更智能

问题描述

我是 bash 脚本的新手。在下面的脚本中,我正在检查和恢复多行中的作业状态并根据匹配字符串进行提取。我怎样才能提高质量并使其更智能,或者可以放入一些逻辑中以减少我的重复检查。欢迎提出任何建议。

#!/bin/bash

#script to  monitor the job.

job=$(dsjob -jobinfo Project jobname | grep "Job Status")
log="/tmp/log.log
currentdate=`date +"%Y-%m-%d %T"`
if [[ $job == *CRASHED* ]];
then
                echo "$currentdate  job is not Running" >> $log

                                dsjob -run -mode RESET Project jobname
                                if [ $? -eq 0 ]
                                then
                                        echo " $currentdate RESET Success:"  >>  $log
                                else
                                        echo " $currentdate RESET Failed: " >>  $log
                                fi

                                dsjob -run Project job
                                if [ $? -eq 0 ]
                                then
                                        echo "$ starting job ..." >>  $log
                                else
                                        echo " $currentdate Failed to run job check application logs" >>  $log
                                fi
elif [[ $job == *Failed* ]];
then            echo  " $currentdate job is not Running" >> $log

                                dsjob -run -mode RESET Project job
                                if [ $? -eq 0 ]
                                then
                                        echo " $currentdate RESET Success:"  >>  $log
                                else
                                        echo " $currentdate RESET Failed: " >>  $log
                                fi

                                dsjob -run Project job
                                if [ $? -eq 0 ]
                                then
                                        echo "$ starting job ..." >>  $log
                                else
                                        echo " $currentdate Failed to run job check application logs" >>  $log
                                fi

echo " $currentdate job is already running" >>  $log
fi

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)