SHELL 脚本小技巧
2024-10-14 18:33:42
脚本很简单,直接上功能介绍及脚本,可以做模板使用:
- 记录日志,记录脚本开始执行时间、结束时间
- 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
最新文章
- wordpress 缩略图功能函数 the_post_thumbnail
- [转载] Redis 起步
- 学会简单使用poi进行excel有关操作
- 果盟广告SDK
- HDU 5835 Danganronpa (水题)
- C++ AO读取shapefile的属性值
- How to center anything with css
- 时间类处理<;1>;
- 通过focusInEvent和eventFilter两种方法改写控件颜色(自定义控件就是这么来的)
- DOM操作-克隆元素
- linux通用邻居基础架构
- mybatis随笔三之SqlSession
- 网站Web业务架构从小到大演变
- GridContrl 通用类
- Ubuntu18.04使用AndroidStudio3.2.1编译TensorFlow android demo【2018年12月】
- webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明
- 【leetcode】53-MaximumSubarray
- [八省联考2018]林克卡特树lct——WQS二分
- MVC 之 缓存机制(二)
- ECMAScript5之JSON对象属性的遍历顺序
热门文章
- 用C# BigInteger实现的BigDecimal类,终于可以直接做四则运算了。
- [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
- C#格式化字符串大全
- stark组件之pop页面,按钮,url,页面
- centos ping www.baidu.com ping: unknown host www.baidu.com
- React-Native之轮播组件looped-carousel的介绍与使用
- Windows 机器上面同时安装mysql5.6 和 mysql5.7 的方法
- linux的一些基本命令
- MyBatis的demo
- GitHub创建仓库,并与git本地仓库关联