linux mysql备份shell
2024-08-27 22:44:08
#!/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 ''
最新文章
- LSOF 安装与使用
- node read file fs
- hdu---(2604)Queuing(矩阵快速幂)
- POJ 2246 Matrix Chain Multiplication(结构体+栈+模拟+矩阵相乘)
- tools/adb: No such file or directory
- 制作 macOS Sierra 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
- Scikit-Learn框架
- docker企业实战视频教程
- (转)Jquery on()事件委派
- Flask 系列之 HelloWorld
- 5G的真正价值
- [Oracle] Data Pump 详细使用教程(1)- 总览
- linux内核中的cfq输入输出调度算法
- PBN飞越转弯Flyover衔接DF航段保护区组图
- Nginx+redis部署tomcat集群
- 4 python内置函数
- C#中的split的基本用法
- C#/Net代码精简优化技巧
- shell 循环语句
- 201621123010《Java程序设计》第4周学习总结
热门文章
- 细数Intellij Idea10个蛋疼问题!
- mybatis 处理枚举类型
- HDU—4046 Panda (线段树)
- python自动化基础(参数化)
- InsightFace源码以及pre-train模型以及使用
- Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:26.1.0
- promise 获取文件内容
- 配置类一@CrossOrigin
- ECMAScript 6中的Set和Map数据结构
- csp-s模拟测试89