CentOS7自动备份数据库到git

6 篇文章 0 订阅
2 篇文章 0 订阅

虽然数据库没什么数据,但是有就是珍贵的啦,为了服务器什么的无了,所以还是要自动备份一下比较好。
Open备忘第一页


步骤

  • 在Gitee(github)上创建一个私有仓库
  • Gitee(github)配置好服务器的ssh
  • 在服务器一个好位置克隆仓库下来刚刚创建的私有仓库
  • 在服务器写脚本
#!/bin/bash

# 进入/data/bSQL文件夹(进入你克隆的仓库的文件夹)
cd /data/bSQL

# MySQL数据库备份文件名
backup_file="yc-page_backup_$(date +\%Y\%m\%d\%H\%M).sql"

# MySQL数据库备份(yc-page是我的数据库名)
mysqldump -u [MySQL用户名] -p[MySQL密码] yc-page > $backup_file

# 配置Git用户信息(提前性一次配置好就好了
# git config --global user.email "your_email@example.com"
# git config --global user.name "Your Name"

# 添加、提交和推送到Git仓库
git add $backup_file
git commit -m "自动备份 时间: $(date +\%Y\%m\%d\%H\%M)"
git push origin master

# 删除本地备份文件
rm $backup_file

  • 为了实现每天凌晨4点执行 ,可以使用cron定时任务。(其他定时自己百度cron)(分 时 日 月 周 命令)
  • 打开定时任务配置文件:
  • 运行crontab -e
  • 在文件里面添加0 4 * * * /path/to/backup_and_push.sh 这里要写你脚本的全路径名
    crontab -e
    然后就好了

优化:脚本上要写用户名和密码这么私密的东西,怎么不写:

# 在用户的home目录下创建并编辑~/.my.cnf文件
vim ~/.my.cnf

在文件中添加以下内容:(替换用户名和密码)

[client]
user=root
password=your_mysql_password

然后在脚本中就可以去掉 -u [MySQL用户名] -p[MySQL密码] 这部分。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值