美文网首页
mysql备份(本地+远程)

mysql备份(本地+远程)

作者: Deo_Prime | 来源:发表于2020-10-26 18:02 被阅读0次

整体规划

生产环境的mysql数据库,应当每日进行备份,并对较远之前的备份进行删除,由于担心mysql服务器本身崩溃,因此需要考虑将备份的文件同时保存到其他服务器,这样能提高数据安全。

备份的方式使用mysqldump,mysql服务器所在主机的ip地址为:10.10.10.57,另一台服务器(远程服务器)的ip地址为:10.10.10.218,备份文件总量不超过15个,每天凌晨3点进行备份。

mysql服务器免密码登录远程服务器

ssh-keygen -t rsa # 连按回车即可
cd ~/.ssh/
ssh-copy-id 10.10.10.218 # 需要输入远程服务器的root密码,之后使用ssh命令就不再需要输入密码了

mysql服务器上的备份程序

/usr/local/backup/backup.sh

#!/bin/bash

number=15
base_dir=/usr/local/backup
local_data_dir=$base_dir/data
remote_data_dir=/usr/local/backup/data
file_suffix=`date +%Y-%m-%d-%H-%M-%S`
file_name=$local_data_dir/bk-$file_suffix.sql

if [ ! -d $local_data_dir];
then
  mkdir -p $local_data_dir;
fi

mysqldump -uroot -p123456 -R -A -E > $file_name

scp $file_name root@10.10.10.218:$remote_data_dir

file_cmd=`ls -l -crt  $local_data_dir/*.sql | awk '{print $9 }' | head -1`

count_cmd=`ls -l -crt  $local_data_dir/*.sql | awk '{print $9 }' | wc -l`

if [ $count_cmd -gt $number ]
then
  # 删除逻辑需要优化:不能一次性删除多个过期文件
  rm $file_cmd
  echo "delete $file_cmd" >> $base_dir/log.log
fi

mysql服务器上的定时任务

使用命令:crontab -e 编辑本机的定时任务

0 3 * * * sh /usr/local/backup/backup.sh > /dev/null 2>&1

远程服务器上的文件管理程序

用于删除较早的文件,内容和备份程序相似
/usr/local/backup/backup.sh

#!/bin/bash

number=10
base_dir=/usr/local/backup
data_dir=$base_dir/data

file_cmd=`ls -l -crt  $data_dir/*.sql | awk '{print $9 }' | head -1`

count_cmd=`ls -l -crt  $data_dir/*.sql | awk '{print $9 }' | wc -l`

if [ $count_cmd -gt $number ]
then
  rm $file_cmd
  echo "delete $file_cmd" >> $base_dir/log.log
fi

远程服务器上的定时任务设置

由于mysql备份和文件传输均需要时间,所以远程服务器上的文件清理程序并不适合也在3点执行,同样使用crontab -e 进行操作:

30 3 * * * sh /usr/local/backup/backup.sh > /dev/null 2>&1

相关文章

  • 如何备份远程 MySQL 数据到本地

    如何备份远程 MySQL 数据到本地? 对于远程的 MySQL 数据库,如何定期将数据备份到本地呢?对于需要远程备...

  • mysql备份(本地+远程)

    整体规划 生产环境的mysql数据库,应当每日进行备份,并对较远之前的备份进行删除,由于担心mysql服务器本身崩...

  • 服务器备份

    oracle 本地备份 将本地备份文件备份到远程(局域网): mongodb用了另一种备份思路,直接远程备份数据库...

  • rsync 使用

    rsync 支持本地和跨服务器的备份工具 安装 本地备份 远程备份 除了备份还可以拉取文件 --delete 参数...

  • MySQL常用命令

    备份远程数据库 备份本地数据库 删除指定库中的数据表 - 语句批量生成 mysql 导出数据库 导出的sql在新的...

  • odoo12 自动备份数据库

    自动备份设置->技术->自动备份 里面设置备份数据库,也可以是设置双备份(可备份本地也可备份远程)本地备份(保留七...

  • Rsync全网备份项目

    目标 把每台重要的数据、配置及脚本备份到本地、远程存储。 本地数据保留7天备份数据 本地备份文件推送到备份服务器上...

  • RDS MySQL 物理备份文件恢复到自建数据库

    RDS MySQL 物理备份文件恢复到自建数据库 RDS 5.7的物理备份恢复到本地的方法 mysql 备份工具 ...

  • 备份版本问题ERROR

    实际上是由版本问题引起的本地版本 远程版本 更新本地数据库版本 备份远程数据

  • 2019-03-08

    登录mysql mysql -u root -h localhost -p mysql数据库备份到本地 mysql...

网友评论

      本文标题:mysql备份(本地+远程)

      本文链接:https://www.haomeiwen.com/subject/yatzmktx.html