当前位置: 首页 > news >正文

备份服务器数据库并保存到Git仓库

备份项目及数据库脚本

#!/bin/bash  # MySQL数据库信息  
DB_HOST="localhost"  
DB_USER="root"  
DB_PASS="************"  
DB_NAME="my-space"  # 导出文件目录  
EXPORT_PATH="/home/MySpace/mysql"  # 获取当前时间并格式化为文件名  
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")  
EXPORT_FILE="$CURRENT_TIME.sql"  # 创建导出目录(如果不存在)  
mkdir -p "$EXPORT_PATH"  # 使用mysqldump命令导出数据库数据  
mysqldump -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$EXPORT_PATH/$EXPORT_FILE"  # 检查导出结果  
if [ $? -eq 0 ]; then  echo "数据库数据已成功导出到 $EXPORT_PATH/$EXPORT_FILE"  git add .git commit -m "$CURRENT_TIME"git push origin master
else  echo "导出数据库数据失败"  
fi
  • DB_HOST:MySQL数据库的主机地址。如果数据库在本地服务器上,可以设置为localhost
  • DB_USER:用于连接MySQL数据库的用户名。
  • DB_PASS:用于连接MySQL数据库的密码。
  • DB_NAME:要导出数据的数据库名称。
  • EXPORT_PATH:导出数据文件的目标目录。请确保该目录存在,并且具有适当的写入权限。
  • EXPORT_FILE:导出数据文件的名称。可以根据需要更改文件名。

保存脚本文件,并确保脚本具有执行权限(可以使用chmod +x script.sh命令赋予执行权限)。然后运行脚本,它将使用mysqldump命令导出数据库数据,并将导出的数据保存到指定的文件中
.

如果每次Git push 都需要输入账号密码,可以进行如下操作:

设置 Git 的凭证存储助手:
git config --global credential.helper store

这将在您的全局 Git 配置中启用凭证存储功能。

设置脚本执行定时计划

# 开启crond服务
[root@Baba MySpace]# systemctl start crond
[root@Baba MySpace]# systemctl enable crond
[root@Baba MySpace]# crontab -u root -l
no crontab for root
[root@Baba MySpace]# ll /var/spool/cron/
总用量 0
# 创建 定时计划。
[root@Baba MySpace]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@Baba MySpace]# pwd
/home/MySpace
[root@Baba MySpace]# ls
file-db  front  java  mysql  plans.sh  tmp
# 查看我们的定时计划
[root@Baba MySpace]# crontab -l
1 2 * * * /home/MySpace/.plans.sh
[root@Baba MySpace]# ll /var/spool/cron/
总用量 4
-rw------- 1 root root 34 919 14:03 root
[root@Baba MySpace]#

crontab -e 命令会进入一个vim界面

比如我们要凌晨两点零一分执行/home/MySpace/.plans.sh命令,

我们直接在vim界面输入1 2 * * * /home/MySpace/.plans.sh

然后:wq退出就可以了

所有的计划任务,都会在/var/spool/cron/下产生对应的文件,用下面的命令就可以查看

http://www.lryc.cn/news/173498.html

相关文章:

  • 尚硅谷wepack课程学习笔记
  • c++模版元编程-可变参数模版
  • pcl--第十节 点云曲面重建
  • 【力扣-每日一题】2560. 打家劫舍 IV
  • vue简单案例----小张记事本
  • 爬虫获取接口数据
  • 私域流量的变现方式,你知道多少?
  • Webpack配置entry修改入口文件或打包多个文件
  • Mac mini2014(装的windows)重装回MacOS
  • 珠海建筑模板厂家-能强优品木业:为您提供优质建筑模板解决方案
  • 图像识别技术如何改变智能家居的体验?
  • 前端中blob文件流和base64的区别
  • MySQL详解六:备份与恢复
  • 什么样的应用程序适合使用Flutter开发桌面?
  • 02强化学习基本概念
  • 笔记2.2:网络应用基本原理
  • 生活垃圾数据集(YOLO版)
  • 操作系统篇之虚拟内存
  • 浅谈SpringMVC的请求流程
  • 2309json.nlohmann数格示例1
  • 你知道 delete 删除属性时的一些细节吗?
  • Blender入门——快捷键
  • 实例讲解Spring boot动态切换数据源
  • 调整网络时需要注意的事项
  • OpenCV自学笔记二十二:绘图及交互
  • 【自学开发之旅】Flask-会话保持-API授权-注册登录
  • 数据结构与算法--排序算法复习
  • python随手小练1
  • gym_unity学习笔记
  • (三十)大数据实战——HBase集成部署安装Phoenix