Last edited time
May 11, 2025 04:33 AM
password
AI summary
type
status
date
slug
summary
tags
category
icon
😀
前言: 一个自动远程备份本地MySQL数据库的脚本。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 自动远程备份本地MySQL数据库

脚本

以下是一个可以自动远程备份本地MySQL数据库的脚本。这个脚本使用mysqldump来备份数据库,并通过scp命令将备份文件上传到远程服务器。实现目的,自动备份数据库到另一台服务器,自动删除过期备份,自动重试,错误记录等等。
当然,这个脚本稍稍修改一下,也可以备份其他,比如 /var/www/website 网站文件, /etc/nginx nginx配置文件等等。
脚本如下:
vi /path/to/your/backup_script.sh

脚本结构说明:

  1. 配置部分
      • MySQL数据库凭证:你可以设置数据库的用户名、密码以及数据库名(或者选择备份所有数据库)。
      • 本地备份目录:定义了临时存储备份文件的本地目录。
      • 远程服务器信息:定义了备份文件传输到的远程服务器和目录,并且提供了SSH端口和用户名。
      • 保留策略:你可以设置本地和远程备份文件的保留天数,超出天数的备份文件会被删除。
  1. 脚本执行流程
      • 创建本地备份目录:确保备份目录存在。
      • 备份MySQL数据库:使用mysqldump命令备份指定的数据库(如果需要备份所有数据库,可以修改为-all-databases)。
      • 压缩备份文件:将备份文件进行压缩(使用tar.gz格式),然后删除未压缩的备份文件。
      • 上传到远程服务器:通过scp命令将压缩后的备份文件上传到远程服务器。
      • 删除本地过期备份:通过find命令删除本地超过指定天数的备份文件。
      • 删除远程过期备份:通过ssh连接远程服务器并执行删除远程过期备份的命令。
  1. 日志记录
      • 使用tee命令将日志同时输出到控制台和日志文件(/var/log/mysql-remote-backup.log)。每个操作的开始、结束及错误信息都会被记录。

设置定时任务:

你可以通过crontab -e添加定时任务,让备份脚本每天自动执行:
这样,脚本会每天凌晨3点执行一次,自动备份并清理过期文件。

🤗 总结归纳

最后,提醒一下,如果两台服务器都用ssh key登陆的话,可以省去很多不必要的步骤。

📎 参考文章

 
💡
有关mysql安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
解决Win11中你的电脑不能投影到其他屏幕。请尝试更新驱动程序或使用其他视频卡学术常用AI语料汇总
Loading...
迷途
迷途
OR的博客,用知识和技术创造未来!!!
Latest posts
腾讯(EdgeOne)CDN加速
2025-7-26
Cloud Mail 部署教程
2025-7-24
免费.com域名和.site域名
2025-7-20
免费二级域名pp.ua
2025-7-20
giffgaff申请、开卡与常见问题攻略(合集)
2025-6-26
节点转换常用链接汇总
2025-6-24
Announcement
🎉OR科技,用心服务🎉
-- 分享知识,点亮生活 ---
保持热爱追逐远方
路虽远行则将至
事虽难不为不成
为之则易不为则难
👏欢迎您的来访👏
距离2024年春节已过去
-- 免责声明 ---
⚠️ 本站内容仅代表个人观点,可以转载,但请注明出处。 ⚠️ 本人分享内容仅供学习参考使用,请勿用于其他用途。