linux环境下定时备份mysql数据库并上传到另一台linux服务器和windows主机 您所在的位置:网站首页 书签分类及备份方法 linux环境下定时备份mysql数据库并上传到另一台linux服务器和windows主机

linux环境下定时备份mysql数据库并上传到另一台linux服务器和windows主机

2023-06-19 00:17| 来源: 网络整理| 查看: 265

linux环境下定时备份数据库并上传到另一台linux服务器和windows主机

目录 linux环境下定时备份数据库并上传到另一台linux服务器和windows主机1、配置服务器SSH2、编写数据库备份脚本3、为脚本添加可执行权限,设置定时执行

1、配置服务器SSH

(1)数据库服务器,执行命令后敲回车

[root@localhost /]# ssh-keygen -t rsa

(2)数据库服务器安装openssh

[root@localhost /]# yum install -y sshpass

(3)存储备份的服务器,执行命令后敲回车

[root@localhost /]# ssh-keygen -t rsa

(4)存储备份的服务器安装openssh

[root@localhost /]# yum install -y sshpass

(5)存储备份的windows安装openssh 设置——应用——可选功能——添加——搜openssh——安装openssh客户端

2、编写数据库备份脚本

在数据库服务器创建一个备份脚本文件,例如 backup_mysql.sh,并将以下代码复制到文件中,数据库信息和文件保存路径由自己设置:

#!/bin/bash # 设置 MySQL 登录信息 MYSQL_USER="your_mysql_username" MYSQL_PASSWORD="your_mysql_password" MYSQL_DATABASE="your_database_name" BACKUP_DIR="/path/to/backup/directory" DATE=$(date +%Y-%m-%d) TIME=$(date +%H-%M-%S) # 创建备份目录和文件名 mkdir -p $BACKUP_DIR/$DATE FILENAME=$BACKUP_DIR/$DATE/$MYSQL_DATABASE-$TIME.sql.gz # 使用 mysqldump 命令备份数据库 mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD --databases $MYSQL_DATABASE | gzip > $FILENAME # 输出备份完成信息到txt文件中 echo "备份成功 on $(date +%Y-%m-%d %H:%M:%S) for database $MYSQL_DATABASE to $FILENAME." >> $BACKUP_DIR/BackupLog.txt echo "===开始传输 $BACKUP_DIR/$DATE/$MYSQL_DATABASE-$TIME.sql.gz ===" >> $BACKUP_DIR/BackupLog.txt # -p 密码 root@YourIPAddr为主机名和ip :/opt是传输到目标的路径 sshpass -p 123456 scp -v -o StrictHostKeyChecking=no $BACKUP_DIR/$DATE/$MYSQL_DATABASE-$TIME.sql.gz root@YourIPAddr:/opt sshpass -p 12345 scp -v -o StrictHostKeyChecking=no $BACKUP_DIR/$DATE/$MYSQL_DATABASE-$TIME.sql.gz ggc@YourIPAddr:/d:/data/ echo "===传输完成===" >> $BACKUP_DIR/BackupLog.txt # 删除超过14天的备份文件 find $BACKUP_DIR/* -mtime +14 -exec rm {} \; 3、为脚本添加可执行权限,设置定时执行 Chmod +x backup_mysql.sh

将脚本文件添加到crontab中,定时执行备份任务,时间表达式为分钟(0~59) 小时(0~23) 日(1~31) 月(1~12) 周(0~6)

Crontab -e 0 2 * * * /path/to/backup_mysql.sh >/dev/null 2>&1

保存并退出编辑器。现在,脚本将在规定时间点执行,并输出备份计划信息到txt。 上面的shell脚本做了以下事情: 1.获取当前日期和时间。 2.使用 mkdir 命令创建备份目录和文件名。 3.使用 mysqldump 命令备份数据库,并将结果压缩成 gzip 格式。 4.输出备份完成信息。 5.传输备份到服务器 6.使用 find 命令查找超过14天的备份文件,并将其删除。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有