前言
一个应用程序最重要的就是数据库, 所以数据库的备份是非常重要的, 但同时我们也很懒, 所以自动备份是必须的. 那么利用git+crontab就能实现自动备份到任何平台.
步骤
新建文件夹用来存储mysql备份文件
mkdir -p /usr/local/backup
把文件夹初始化为git仓库
如果还没安装git,点击linux安装git
cd /usr/local/backup
git init
添加mysqldump.sh文件,该文件的内容就是crontab要执行的定时任务
vim /usr/local/backup/mysqldump.sh
写入以下内容
#!/bin/bash
cd /usr/local/backup
message = `date "+%Y%m%d"`
mysqldump -uroot -p[密码] [数据库名] > [数据库名].sql
git add .
git commit -m "${message}"
git push
赋予mysqldump.sh文件可执行权限
chmod 775 /usr/local/backup/mysqldump.sh
新建crontab的定时任务
#打开crontab任务编辑界面 crontab -e
写入这个命令
0 03 * * * /usr/local/backup/mysqldump.sh
命令含义: 每天凌晨三点,执行mysqldump.sh脚本
- 生成ssh公匙,并添加到远程仓库中,我使用的码云
如果不知道怎么生成,点击生成密匙方法
把本地仓库和远程仓库关联(www.hedaoshe.com)
git add . git commit -m '1' git push -uf --set-upstream [远程仓库地址] master
结尾
经过以上步骤, 我们的数据库就会每天凌晨3点自动备份到远程git仓库, 如果你想更有保障, 可以同时备份到多个git远程仓库. 奥利干!!!