#!/bin/bash
# Shell script to backup MySql database
# Author: Henry he
# Last updated: --
# crontab -e
# * * /home/elkan/H_Docs/PortMasterListPortal/backup.sh >> /opt/mysql_backup/log echo $(date +"%Y-%m-%d %H:%M:%S") username="root" # USERNAME
password="" # PASSWORD
Hostname="localhost" # Hostname
DBName="PortMasterList" #DB name
#DBName="testMavenWeb"
programProt="" #max save backup file number
maxBackUpFileCount= # Linux bin paths, change this if it can not be autodetected via which command
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)" # Main directory where backup will be stored
backupDir="/opt/mysql_backup/"$DBName # if not exsis then mkdir
[ ! -d $backupDir ] && mkdir -p $backupDir || : # Get data in dd-mm-yyyy format
NOW="$(date +"%Y-%m-%d-%H-%M-%S")" FILE="$backupDir/$DBName.$NOW.bak" # Only root can access it!
#$CHOWN 0.0 -R $backupDir
#$CHMOD $backupDir # connect to mysql using mysqldump for select mysql database
# and pipe it out to file in backup dir
echo 'usenrame:'$username 'password:'$password 'DBName:'$DBName
$MYSQLDUMP -u $username -h $Hostname -p$password $DBName > $FILE # check the backup is success
success="true"
if [ ! -s "$FILE" ]; then
success="false"
rm -f $FILE
echo 'backup fail'
else
# delete the redundant backup files
i=
for file in $(ls -t $backupDir)
do
i=`expr $i + `
#echo $file
if [ "$i" -gt "$maxBackUpFileCount" ]
then
$(rm -f "$backupDir/$file")
echo 'rm file':"$backupDir/$file"
fi
done echo 'backup success file path:'$FILE
fi #curl calling java to send email
curl 'http://'$Hostname':'$programProt'/PortMasterListPortal/ajax/sendBackup.html?success='$success'&secureKey=xxx'
echo ''

最新文章

  1. LSOF 安装与使用
  2. node read file fs
  3. hdu---(2604)Queuing(矩阵快速幂)
  4. POJ 2246 Matrix Chain Multiplication(结构体+栈+模拟+矩阵相乘)
  5. tools/adb: No such file or directory
  6. 制作 macOS Sierra 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
  7. Scikit-Learn框架
  8. docker企业实战视频教程
  9. (转)Jquery on()事件委派
  10. Flask 系列之 HelloWorld
  11. 5G的真正价值
  12. [Oracle] Data Pump 详细使用教程(1)- 总览
  13. linux内核中的cfq输入输出调度算法
  14. PBN飞越转弯Flyover衔接DF航段保护区组图
  15. Nginx+redis部署tomcat集群
  16. 4 python内置函数
  17. C#中的split的基本用法
  18. C#/Net代码精简优化技巧
  19. shell 循环语句
  20. 201621123010《Java程序设计》第4周学习总结

热门文章

  1. 细数Intellij Idea10个蛋疼问题!
  2. mybatis 处理枚举类型
  3. HDU—4046 Panda (线段树)
  4. python自动化基础(参数化)
  5. InsightFace源码以及pre-train模型以及使用
  6. Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:26.1.0
  7. promise 获取文件内容
  8. 配置类一@CrossOrigin
  9. ECMAScript 6中的Set和Map数据结构
  10. csp-s模拟测试89