标签:time 推送 手动 mysqld add 开发者 cal 执行 restart
之所以选择码云是因为其私有仓库是免费的,而私有仓库是收费,约7+美元一月,对于个人开发者似乎也是一笔不小的费用。
在创建自动将备份上传到码云仓库前,建议您先看下以下文章:
《如何通过Git将本地项目推送到码云或GitHub》
对于不太了解的朋友来说,此文章非常有用,否则在进行以下步骤时会出现各种报错。
实现方案:
以上步骤在上文中有详细说明。
1.创建shell脚本文件:
$ cd /mnt/renwole$ vim mysqlbak.sh
2.添加以下内容:
#!/bin/bashcreateAt=`date +%Y-%m-%d-%H:%M:%S`
mysql_back_path=/mnt/MySQL-Bak
/usr/local/mysql/bin/mysqldump -u数据库用户名 -p密码 数据库名 > $mysql_back_path/renwoleblog-$createAt.sql
# 自动删除7天前的备份
# -type 文件类型 f是文件
find $mysql_back_path -name "*.sql" -type f -mtime +7 -exec rm -rf {} \;
cd $mysql_back_path
git add -A
git commit -m "${createAt}"
git push origin master
注意:上面的路径一定要是绝对路径,否则执行后成功,但是导出结果为空,手动执行正常!
3.设置执行权限:
$ chmod +x mysqlbak.sh
4.添加任务计划:
通过定时执行备份脚本
$ crontab -e
插入如下内容:
*/50 2 * * * /mnt/renwole/mysqlbak.sh
$ systemctl restart crond
设置完成后,每日凌晨2点50分,自动备份数据库并推送到码云仓库,后期可以通过查看历史提交的版本。再也不用担心数据丢失了。
版权声明:本站原创文章,欢迎任何形式的转载。
转载请注明:MySQL自动备份并提交到码云Git仓库 | 任我乐
标签:time 推送 手动 mysqld add 开发者 cal 执行 restart
原文地址:https://www.cnblogs.com/HKROnline-SyncNavigator8-4-1/p/11015816.html