#######mysql
dump###################################################
#!/bin/sh
# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.
# -----------------------------
db_user="root"
db_passwd="root
"
db_host="localhost"
# the directory for story your backup file.
backup_dir="/backup"
# date format for backup file (dd-mm-yyyy)
time="$(date +"%d-%m-%Y")"
# mysql, mysqldump and some other bin's path
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
MKDIR="$(which mkdir)"
RM="$(which rm)"
MV="$(which mv)"
GZIP="$(which gzip)"
#针对不同系统
,如果环境变量都有。可以去掉
# check the directory for store backup is writeable
test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0
# the directory for story the newest backup
test ! -d "$backup_dir" && $MKDIR "$backup_dir"
# get all databases
for db in cdn cdn_view
do
$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/$time.$db.gz"
done
#delete the oldest backup 30 days ago
find $backup_dir -name "*.gz" -mtime +30 |xargs rm -rf
exit 0;
###################################################################
##########带邮件
通知的mysqldump#####################################
#!/bin/sh
# Name:mysqlFullBackup.sh
# PS:MySQL DataBase Full Backup.
#
# Use mysqldump --help get more detail.
#
scriptsDir=`pwd`
mysqlDir=/usr/local/mysql ?
user=root
userPWD=111111
dataBackupDir=/tmp/mysqlbackup
eMailFile=$dataBackupDir/email.txt
eMail=liuyu@sohu.com
logFile=$dataBackupDir/mysqlbackup.log
DATE=`date -I`
echo "" > $eMailFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $eMailFile
cd $dataBackupDir
dumpFile=mysql_$DATE.sql
GZDumpFile=mysql_$DATE.sql.tar.gz
$mysqlDir/bin/mysqldump -u$user -p$userPWD \
--opt --default-character-set=utf8 --extended-insert=false \
--triggers -R --hex-blob --all-databases \
--flush-logs --delete-master-logs \
--delete-master-logs \
-x > $dumpFile
if [[ $? == 0 ]]; then
tar czf $GZDumpFile $dumpFile >> $eMailFile 2>&1
echo "BackupFileName:$GZDumpFile" >> $eMailFile
echo "DataBase Backup Success!" >> $eMailFile
rm -f $dumpFile
# Delete daily backup files.
cd $dataBackupDir/daily
rm -f *
# Delete old backup files(mtime>2).
$scriptsDir/rmBackup.sh
# Move Backup Files To Backup Server.
$scriptsDir/rsyncBackup.sh
if (( !$? )); then
echo "Move Backup Files To Backup Server Success!" >> $eMailFile
else
echo "Move Backup Files To Backup Server Fail!" >> $eMailFile
fi
else
echo "DataBase Backup Fail!" >> $emailFile
fi
echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile
cat $eMailFile | mail -s "MySQL Backup" $eMail
###################################################################
############### tar ###############################################
#!/bin/bash
#15 3 * * * /usr/local/sbin/backup.sh
#backup directory
BAK_DIR=/data/db_backup
TAR="/bin/tar"
TAR_FLAG="czvf"
#BAKup
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
fi
COMM="$TAR $TAR_FLAG $BAK_DIR/linuxtone-`date +%Y%m%d`.tar.gz linuxtone/"
cd /data/mysql/data
eval $COMM
find $BAK_DIR -name "linuxtone-*.tar.gz" -mtime +30 |xargs rm -rf
###################################################################
###################mysqlhotcopy####################################
#!/bin/sh
DBS=`du /var/lib/mysql/linuxtone/ | awk
'{ printf $1 }'`
DFS=`df /myhotco | grep myhotco | awk '{ printf $3}'`
let "DBS = $DBS / 1024"
let "DFS = $DFS / 1024"
# more than 100M free space up
if [ `expr $DBS + 100` -lt $DFS ] ; then
echo "run mysqlhotcopy ( `expr $DFS - $DBS` ) ..."
/usr/bin/mysqlhotcopy linuxtone --allowold --flushlog /myhotco
fi
分享到:
相关推荐
MySQL备份脚本
mysql备份脚本mysql备份脚本mysql备份脚本
mysql备份脚本-按日期进行备份,并进行压缩, 在windows下运行。请修改对于的路径,mysql表名 用户名密码等,将文件后缀修改为bat即可
Mysql备份脚本
Linux 下 Mysql 备份脚本 使用 mysqldump 命令 备份数据库 单/多库备份 自定义 mysqldump 其他参数 -h -d ..... 删除超过一定时间的备份
mysql备份脚本,dump备份,包含windows, linux。 修改完账号密码后,可以直接拿来使用。
mysql备份脚本
Linux下自动备份Mysql文件shell脚本。
mysql 备份脚本实例,本人亲测,可以正常使用,需要根据真实路径修改相关配置
Linux下mysql的增量与完全备份脚本
1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
mysql备份脚本(已扩展),自动备份,动态添加文件夹、时间后缀;检索并删除七天之前备份
mysql备份脚本(可扩展),设置计划任务自动备份
31-shell脚本案例-mysql备份脚本.html
mysql备份脚本 可以同时备份一个实例下的多个库 适合多实例部署的版本 各路径请进行相应的修改 别忘了脚本赋权
mysqlbkup, 在BASH中,轻量级MySQL备份脚本 mysqlbkup用于备份所有MySQL数据库的轻量级MySQL备份脚本。在几分钟内,你可以以在任何Linux服务器上设置你的MySQL数据库的每晚备份。命令行指令下载软件包通过 sudo - ...