zoukankan      html  css  js  c++  java
  • 一个shell脚本 阿正

      之前学过shell脚本,但是工作中一直没有用到,今天由于要搞一个定时任务,为了防止重复启动php脚本,就需要写一个shell,

    学到的东西终于用到了,用记住的那些知识点写了这个脚本,在此记录备注说明一下,希望能够帮助大家回忆起一些相关知识点。

     下面是脚本内容:

    *************************************

    #!/bin/bash //声明要使用哪个shell

    下面是备注文件 这可是一个好习惯奥

    # 运行第三方分享脚本shell 
    # Copyright (c) 2012, Jiehun.com.cn Inc. All Rights Reserved
    # @author 77500933@qq.com
    # @date 2012-7-18
    # @version 1.0

    //设置相关变量
    filePath='/home/zhanghaozheng/workspace/iHapN/trunk/tools/cooperation/CrondShare.php'
    scriptName='CrondShare.php'
    logFile='/tmp/crond_share.log'
    sitePath='/home/zhanghaozheng/jiehun'

    declare -i logFileLines=0 //定义整形变量

    #文件最大行数 超过则覆盖
    declare -i maxFileLine=2000 //定义整形变量

    //接收执行sh传过来的参数
    #最大行数允许参数控制
    if [ -n "$1" ];then //判断参数是否为空
        maxFileLine=$1
    fi

    //定义函数
    function getLogFileLines()
    {
        file=$1 //接受参数1
        if [ -f "$file" ];then //判断文件是否存在
            echo `cat "$file"|wc -l` //获取文件行数
        else
            echo 0
        fi 
    }

    logFileLines=`getLogFileLines "$logFile"`; //调用函数并接收返回值赋给logFileLines

    #如果脚本已经启动就不再启动
    s=`ps aux | grep "$scriptName"`; //在进程中查找脚本名称来确定脚本进程是否启动
    mark=`echo $s | grep "/usr/bin/php"` //确认是否是php进程
    query='cd "$sitePath" && /usr/bin/php tools/start.php CrondShare="$filePath" -d'
    if [ "$mark" == "" ]; then  //如果进程不存在则启动进程
            #防止记录文件过大
            if [ "$logFileLines" -gt "$maxFileLine" ]; then  比较两个参数大小
                   eval $query  > "$logFile"  2>&1  //执行字符串
            else
                   eval $query  >> "$logFile"  2>&1 //执行字符串
            fi
    else
            echo 'script is runing' >> "$logFile"
    fi


    exit 0 //正常执行后并退出

  • 相关阅读:
    分类问题的评价指标
    29 畅游 x86 分页机制(中)
    高手进阶,终极内存技术指南——完整/进阶版
    从ST官网获取STM32 AD封装库(包含原理图库和PCB库)详细教程
    标准SPI、DUAL SPI、Quad SPI;NorFlash、NandFlash、eMMC闪存的比较与区别
    ARM 之七 主流编译器(armcc、iar、gcc for arm)详细介绍
    STM32中ARM系列编译工具链的编译宏选择(__CC_ARM、__ICCARM__、__GNUC__、__TASKING__)
    每日总结
    每日总结
    每日总结
  • 原文地址:https://www.cnblogs.com/azheng007/p/2597933.html
Copyright © 2011-2022 走看看