SHELL 脚本小技巧
脚本很简单,直接上功能介绍及脚本,可以做模板使用:
- 记录日志,记录脚本开始执行时间、结束时间
- usage 函数,脚本需接参数执行,避免误执行,告诉用户,这个脚本的使用方法
- 加锁,创建锁文件,脚本不允许多人同时执行,或脚本未执行结束又开始执行,尤其计划任务或数据库备份,避免这种问题
#!/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
SHELL 脚本小技巧的更多相关文章
- shell脚本小技巧
输入参数错误时,退格会出现^H,这个时候只要在脚本顶部加一条语句:stty erase ^h就可以了 #!/bin/sh stty erase ^h
- Shell脚本小技巧收集
1.使用python快速搭建一个web服务器 访问端口8000 python -m SimpleHTTPServer 2.获取文件大小 stat -c %s $file stat --printf=' ...
- linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
- shell脚本小案例
1.获取远程ftp数据到本地目录 #!/bin/bash ftp -n<<! open 135.0.24.19 user exchange exchange binary cd /idep ...
- shell脚本常用技巧
shell脚本常用技巧 1.获取随机字符串或数字 ~]#echo $RANDOM | md5sum | cut -c 1-6 ~]#openssl rand -base64 4 | cut -c 1- ...
- shell脚本小实例
本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的.关于这些技巧的出处,诶,我也忘了,可能来自theunixsch ...
- shell脚本使用技巧3--调试
1.使用-x,开启shell脚本的跟踪调试功能 ex:bash -x script.sh or sh -x script.sh 2.使用set -x 和 set +x对脚本进行部分调试(输入中间的内容 ...
- shell脚本小集锦
1) 如何向脚本传递参数 ? ./script argument 例子: 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash 2) 如何在脚本中使 ...
- shell脚本调试技巧
shell脚本调试之工具——bashdb http://www.cnblogs.com/itcomputer/p/5011845.html
随机推荐
- JS 有趣的JS
一. var arr = []; for (var i = 0; i < 3; i++) { arr[i] = function() { console.log(i+'__') // 3 3 3 ...
- 牛客国庆集训派对Day2
题目链接:https://www.nowcoder.com/acm/contest/202/A A 题意:给出最大4096*64和64*4096的矩阵,其中有一个矩阵只含有0和1,问你它们相乘所得到得 ...
- 福大软工1816 · 课程计划预报(K班)
实践课安排 对应教学周序 时间 内容 3 09.22 业界交流讲座 6 10.13 团队选题报告答辩 7 10.20 UML设计 8 10.27 团队项目需求答辩 11 11.17 团队现场编程实战与 ...
- 【学习总结】【Java】Git学习-上传本地已有代码到GitHub
< Git学成归来后的第一次实战 > 上传本地已有代码到GitHub 以之前学了一小半的Java基础教程代码为例 <深坑预警:在GitHub新建仓库那一步,不要勾选readme,不然 ...
- php之常用扩展总结
在此总结,开发中经常使用到的扩展,来进行日常PHP的开发工作 bcmath(精确数值处理) bz2 calendar Core ctype curl date dom ereg exif filein ...
- # 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?
# [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? # 思路:先判断是否为闰年,这关系到 2 月份的天数.# 之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日 ...
- 关于Fatal error: Paletter image not supported by webp 报错
报错提示 Fatal error: Paletter image not supported by webp 原因是由于图片被非法编辑过(相对PHP来说)造成, 有可能是某些编辑图片的软件的格式与PH ...
- Django框架导读
1.虚拟环境的安装 2.web应用 C/S B/S 架构 3.http协议介绍 4.状态码 5.原生socket 6.框架演变 7.项目演变 一.虚拟环境安装 什么是虚拟环境? 1.对真实环境的一个 ...
- CodeForces 126B Password
题目链接:http://codeforces.com/problemset/problem/126/B 题目大意: 多组数据每组给定1个字符串S,问是否存在S的一个尽量长的子串,同时是S的前缀和后缀, ...
- python设计模式第九天【策略模式】
1. 定义 对一系列算法进行封装,为所有算法定义一个抽象的算法接口,可以平滑的进行算法切换 2. 策略模式的UML图 3.代码实现 #!/usr/bin/env python #! _*_ codin ...