mysql用shell脚本实现定时备份

基于命令行mysqldump -u root -p test>/tmp/mysql 命令,要实现执行备份命令中mysqldump不需要交互输入密码过程:

1.修改配置文件在mysql配置文件mysqld.cnf中添加:

[mysqldump]
user=root
password=xxxxx

找到socket       = /var/run/mysqld/mysqld.sock

修改权限chmod不运行其他人查看。

执行mysqldump -u root -S /var/run/mysqld/mysqld.sock  test此时则不需要输入密码即可完成备份。

自定义完成备份并删除过期备份脚本:

#!/bin/bash nowdate=`date +%y%m%d%H%M`

date=`date +%y%m%d`

num1=`find /root/mysql/bak/ -name "*$date*" |wc -l` min=`find /root/mysql/bak/ -name "*$date*" |sort -t. -k2 -n |cut -d. -f2|head -1` deldir=`find /root/mysql/bak/ -name "*$min*"`

for backupDB in ldct_test leader_control imp_test; do

mysqldump -u root -S /var/run/mysqld/mysqld.sock "$backupDB">/root/mysql/bak/"$backupDB.$nowdate"

done

if [ $num1 -gt 10 ];then

rm $deldir

fi

猜你喜欢

转载自www.cnblogs.com/alphabetter/p/9687859.html
今日推荐