脚本很简单,直接上功能介绍及脚本,可以做模板使用:

  1. 记录日志,记录脚本开始执行时间、结束时间
  2. usage 函数,脚本需接参数执行,避免误执行,告诉用户,这个脚本的使用方法
  3. 加锁,创建锁文件,脚本不允许多人同时执行,或脚本未执行结束又开始执行,尤其计划任务或数据库备份,避免这种问题
    #!/bin/bash
    #######################################################
    # $Version: v1.
    # $Function: Shell Template Script
    # $Author: Jerry.huang
    # $organization: http://www.cnblogs.com/Mrhuangrui
    # $Create Date: -- :
    # $Description: You know what i mean,heiheihei
    ####################################################### # Shell Env
    SHELL_DIR="/opt/shell"
    SHELL_LOG="${SHELL_DIR}/$0.log"
    LOCK_FILE="/tmp/$0.lock" #Write Log
    shell_log(){
    LOG_INFO=$
    echo "$(date "+%Y-%m-%d") $(date "+%H-%M-%S") : $0 : ${LOG_INFO}" >> ${SHELL_LOG}
    } # Shell Usage
    shell_usage(){
    echo $"Usage: $0 {backup}"
    } shell_lock(){
    touch ${LOCK_FILE}
    } shell_unlock(){
    rm -f ${LOCK_FILE}
    } # Backup MySQL All Database with mysqldump or innobackupex
    mysql_backup(){
    if [ -f "$LOCK_FILE" ];then
    shell_log "$0 is running"
    echo "$0" is running,exit now. && exit
    fi
    shell_log "mysql backup start"
    shell_lock
    sleep
    shell_log "mysql backup stop"
    shell_unlock
    } # Main Function
    main(){
    case $ in
    backup)
    mysql_backup
    ;;
    *)
    shell_usage;
    esac
    } #Exec
    main $

    shell_template.sh

最新文章

  1. wordpress 缩略图功能函数 the_post_thumbnail
  2. [转载] Redis 起步
  3. 学会简单使用poi进行excel有关操作
  4. 果盟广告SDK
  5. HDU 5835 Danganronpa (水题)
  6. C++ AO读取shapefile的属性值
  7. How to center anything with css
  8. 时间类处理<1>
  9. 通过focusInEvent和eventFilter两种方法改写控件颜色(自定义控件就是这么来的)
  10. DOM操作-克隆元素
  11. linux通用邻居基础架构
  12. mybatis随笔三之SqlSession
  13. 网站Web业务架构从小到大演变
  14. GridContrl 通用类
  15. Ubuntu18.04使用AndroidStudio3.2.1编译TensorFlow android demo【2018年12月】
  16. webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明
  17. 【leetcode】53-MaximumSubarray
  18. [八省联考2018]林克卡特树lct——WQS二分
  19. MVC 之 缓存机制(二)
  20. ECMAScript5之JSON对象属性的遍历顺序

热门文章

  1. 用C# BigInteger实现的BigDecimal类,终于可以直接做四则运算了。
  2. [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
  3. C#格式化字符串大全
  4. stark组件之pop页面,按钮,url,页面
  5. centos ping www.baidu.com ping: unknown host www.baidu.com
  6. React-Native之轮播组件looped-carousel的介绍与使用
  7. Windows 机器上面同时安装mysql5.6 和 mysql5.7 的方法
  8. linux的一些基本命令
  9. MyBatis的demo
  10. GitHub创建仓库,并与git本地仓库关联