标签:Linux data 备份 30 sh file mysql backup
一、创建备份目录
执行命令:在指定路径下创建备份目录
cd /mnt/file
mkdir data_backup
二、编写shell脚本 放在/mnt/file/data_backup里
创建.sh shell脚本: touch bkmysql.sh
打开脚本文件: vim bkmysql.sh
脚本文件内容如下所示:
login_user表示数据库用户名
login_passwd表示数据库密码 修改成自己数据库的用户名与密码即可
login_user=root
login_passwd=root
rq=`date +%Y%m%d`
dateDel=`date -d '+30 day ago' +%Y%m%d`
backup_dir="/mnt/file/data_backup/"$rq"/" #配置备份文件保存的目录
echo "****starting mysqldump****"
echo $backup_dir
if [ ! -d $backup_dir ];then
mkdir -p $backup_dir
fi
# 将需要备份的数据放入
db_array=("sys_user" "sys_dept" ) #配置要备份的数据库
for db_name in ${db_array[*]}
do
mysqldump -u$login_user -p$login_password $db_name > $backup_dir$db_name.sql
done
echo "****end mysqldump****"
echo "rm *"$dateDel"*"
rm *$dateDel*
echo "****end delete****"
echo "备份结束"
三、修改备份脚本文件权限:
执行命令:chmod 777 bkmysql.sh
测试:执行脚本文件看会不会出现相应的备份文件
sh bkmysql.sh
四、可能遇到的问题:mysqldump: Got error: 2002: Can‘t connect to local MySQL server through socket ‘/tmp/mysql.soc
解决办法:
1.修改mysql配置文件
vim /etc/my.cnf
配置文件中添加【client】如下:
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]port=3306socket=/var/lib/mysql/mysql.sock
五、配置定时器
修改定时器配置文件crontab:
sudo vim /etc/crontab
crontab文件添加以下内容:
0 2 * * * yfjf /mnt/file/data_backup/bkmysql.sh >> /mnt/file/data_backup/backup_log.log
crontab配置完成后,需要重新启动服务:
重新启动(sudo /etc/init.d/cron restart);
查看crond服务是否启动:
sudo service crond status
总结:
以上是本人经过实践在服务器上操作备份的过程,期间也遇到过其他的一些问题,忘记记载了。如果后续在继续创建Mysql备份滚动存储,可记载下来。关于定时器这块具体可以在网上直接搜索crontab 一般都是服务器系统自带。
作者:三尺青锋
本文链接:
https://www.cnblogs.com/zhangjiale/p/17394610.html
标签:Linux,
data,
备份,
30,
sh,
file,
mysql,
backup
From: https://www.cnblogs.com/zhangjiale/p/17394610.html