SHELL 脚本小技巧

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

  1. 记录日志,记录脚本开始执行时间、结束时间
  2. usage 函数,脚本需接参数执行,避免误执行,告诉用户,这个脚本的使用方法
  3. 加锁,创建锁文件,脚本不允许多人同时执行,或脚本未执行结束又开始执行,尤其计划任务或数据库备份,避免这种问题
    #!/bin/bash
    #######################################################
    # $Version:      v1.0
    # $Function:     Shell Template Script
    # $Author:       Jerry.huang
    # $organization: http://www.cnblogs.com/Mrhuangrui
    # $Create Date:  2017-06-30 09:30
    # $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=$1echo "$(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" ];thenshell_log "$0 is running"echo "$0" is running,exit now. && exitfishell_log "mysql backup start"shell_locksleep 10shell_log "mysql backup stop"shell_unlock
    }# Main Function
    main(){case $1 inbackup)mysql_backup;;*)shell_usage;esac
    }#Exec
    main $1
    shell_template.sh

     

转载于:https://www.cnblogs.com/Mrhuangrui/p/7097453.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WinForm(十)项目框架结构

看到下面的项目结构,是否曾经相识?不要笑,这也是一种项目结构,极简主义。项目结构没有对错,合适就好,但也要有几个要求,至少要做到结构明确,清晰,当然上图的结构清晰&…

mysql索引有哪些了解_Mysql索引(简单了解)

Mysql的存储引擎,可以针对不同的表使用不同的存储引擎MyISAM:插入,查血速度快,但是不支持事物,所以适用于数据仓库,Web等InnoDB:支持事物,所以适合于事物型数据库Memory:…

Elasticsearch5.X的java配置

pom: <properties><elasticsearch.version>5.4.1</elasticsearch.version><transport.version>5.4.1</transport.version></properties><!--elasticsearch相关依赖--><dependency><groupId>org.elasticsearch</group…

使用Spring发送带附件的电子邮件(站内和站外传送)

1.使用Spring发送带附件的电子邮件 <?xml version"1.0" encoding"UTF-8"?> <beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:p"http://www.spr…

vmware 克隆后Linux没有eth网卡只有lo

想试着在虚拟机上搭下主从&#xff0c;&#xff0c;&#xff0c;结果&#xff0c;克隆出来的虚拟机没有网卡。。。只有lo 于是跟着别人的来添加一个网卡 第一步&#xff1a;打开克隆的虚拟机 第二步&#xff1a; 第三步 第四步&#xff1a; 最后&#xff1a; 之后执行reboot重启…

聊一聊 C++ 中的 namespace

一&#xff1a;背景 相信大家在分析 dump 时&#xff0c;经常会看到 WKS 和 SRV 这样的字眼&#xff0c;如下代码所示&#xff1a;00007ffa778a07b8 coreclr!WKS::gc_heap::segment_standby_list 0x0000000000000000 00007ffa778a3870 coreclr!WKS::qpf 0x989680 00007ffa778…

mysql模糊查询后分页_jsp模糊查询后的数据进行分页,但点击下一页后就查询全部的了...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼String path request.getContextPath();String basePath request.getScheme() "://" request.getServerName() ":" request.getServerPort() path "/";%>信息表#container {width: 500px;}…

会议会展活动从业技能之会销流程的16个环节

会议营销是透过相对大型活动来实现销售。会议营销是细节营销&#xff0c;一般操作流程有会前、会中、会后三个阶段共计16个环节&#xff0c;每个环节都做到位了&#xff0c;衔接好了&#xff0c;会议营销的最终效果就会得到保证。一般而言&#xff0c;会议营销分为会前营销、会…

haproxy详细介绍

Haproxy是既可以工作在7层也能工作在4层的反代工具.Haproxy的功能:路由HTTP请求到后端服务器,基于cookie作会话绑定.能够将多个请求反代至后端主机完成负载均衡的效果.主服务器失败时能自动切换到备服务器上.接受特殊的端口连接完成服务监控拒绝新连接时不会关闭已经连接的请求…

SQL JOIN连接分类[转]

1、内联接&#xff08;典型的联接运算&#xff0c;使用像 或 <> 之类的比较运算符&#xff09;&#xff1b;包括相等联接和自然联接&#xff1b; 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行&#xff1b; 2、外联接。外联接可以是左向外联接、右向…

《ASP.NET Core 6框架揭秘》实例演示[17]:利用IHttpClientFactory工厂来创建HttpClient

在一个采用依赖注入框架的应用中&#xff0c;我们一般不太推荐利用手工创建的HttpClient对象来进行HTTP调用&#xff0c;使用的HttpClient对象最好利用注入的IHttpClientFactory工厂来创建。前者引起的问题&#xff0c;以及后者带来的好处&#xff0c;将通过如下这几个演示程序…

Hadoop部署方式-高可用集群部署(High Availability)

Hadoop部署方式-高可用集群部署(High Availability) 作者&#xff1a;尹正杰 版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。 本篇博客的高可用集群是建立在完全分布式基础之上的&#xff0c;详情请参考&#xff1a;https://www.cnblogs.c…

sybase 连接mysql_如何连接到Sybase SQL Anywhere数据库

Sybase SQL Anywhere数据库具有许多非常有用的功能&#xff0c;与竞争对手相比&#xff0c;它具有很高的竞争力。首先&#xff0c;它允许您处理大量数据。其次&#xff0c;它具有很高的生产率&#xff0c;也就是说&#xff0c;可以快速提供大量数据。第三&#xff0c;它需要最少…

MaintainableCSS 《可维护性 CSS》 --- 模板篇

什么是模块(Modules) ? 模块是一个特别的独立单元&#xff0c;可以与其他模块组合以形成更复杂的结构。 在客厅里&#xff0c;我们可以认为电视&#xff0c;沙发和墙艺术是模块。它们聚在一起创造一个可用的房间。 如果我们把其中一个拿走&#xff0c;其他的能继续工作。我们不…

【汇编语言】DEBUG的使用

在masm for windows中&#xff0c;需要先生存exe文件&#xff0c;然后再点调试按钮。 常用的命令有&#xff1a; R命令&#xff1a;查看、改变CPU寄存器的内容&#xff1b;如果要修改某个寄存器的内容&#xff0c;可以在r的后面接上空格和寄存器名。如&#xff1a;-r ax&#x…

centos6.6 源码安装mysql5.5_CentOS6.x下源码安装MySQL5.5

2. 卸载原有的mysql数据库[rootzabbix ~]# yum -y remove mysql mysql-server mysql-libs compat-mysql51[rootzabbix ~]# rm -rf /var/lib/mysql[rootzabbix ~]# rm /etc/my.cnf[rootzabbix ~]# rpm -qa|grep mysql #如果还能查询出来mysql文件&#xff0c;继续删除&#xff0…

学习韩立刚老师IT运维课程,成为韩立刚老师正式学生,在全国范围为你就近推荐工作。...

2018年5月21日&#xff0c;万恒教育成立IT运维就业指导部门&#xff0c;为韩立刚老师正式学生推荐工作&#xff0c;实习单位。和国内IT外包公司HR长期合作&#xff0c;韩立刚老师技术考核通过的学生&#xff0c;为学生在全国范围就近推荐工作。有学习IT运维课程&#xff0c;打算…

Leetcode 动态规划 Trapping Rain Water

本文为senlie原创。转载请保留此地址&#xff1a;http://blog.csdn.net/zhengsenlie Trapping Rain Water Total Accepted: 14568 Total Submissions: 50810My SubmissionsGiven n non-negative integers representing an elevation map where the width of each bar is 1, co…

白盒测试用例设计方法

一、白盒测试 根据软件产品的内部工作过程&#xff0c;在计算机上进行测试&#xff0c;以证实每种内部操作是否符合设计规格要求&#xff0c;所有内部成分是否已经过检查。这种测试方法就是白盒测试。白盒测试把测试对象看做一个打开的盒子&#xff0c;允许测试人员利用程序内部…

k8s 读书笔记 - 详解 Pod 调度(Ⅰ卷)

上一篇 《深入掌握 Pod》 文章我们介绍了 Pod 的知识点&#xff0c;接下来我们来继续学习 Pod 在 k8s 中的调度原理。在 k8s 平台上&#xff0c;通常情况下很少直接创建一个 Pod&#xff0c;大多情况下都是通过 Pod 的资源管理对象 来创建&#xff0c;例如&#xff1a;RC/RS、…