侧边栏壁纸
博主昵称
流苏小筑

步伐虽小,密而不止

自动备份数据库脚本和遇到的错误记录

2019年12月01日 165阅读 2评论 0点赞

在做备份数据库到本地一份,再上传到码云上一份时,遇到一个错误
在写shell脚本备份代码时

#################数据库备份信息####################################

# 用户名
#user=因为是在线项目就不写了
# 密码
#password=因为是在线项目就不写了
# 数据库名称
dbname=因为是在线项目就不写了
# 备份路径
mysql_back_path=/backup/szdblog_com_mysqlback

#########################备份数据库###############################

#/usr/bin/mysqldump -h127.0.0.1 -u$user -p$password $dbname>$mysql_back_path/$time.sql

这里会报一个错,在mysql5.6版本将密码写在不安全文件时会报错,所以将密码设置在my.cnf的配置文件里

[mysqldump]
user=因为是在线项目就不写了
password=因为是在线项目就不写了

完后再直接使用mysqldump语句就行了

#!/bin/sh
####################备份文件名称为当天时间#########################
time=`date '+%y-%m-%d-%H:%M:%S'`
file_name=`date '+%y-%m-%d'` 
echo $time
 
echo '开始备份数据库...'
#################数据库备份信息####################################
dbname=typecho_blog

# 备份路径
mysql_back_path=/backup/szdblog_com_mysqlback/$file_name

# 创建目录
if [ ! -d $mysql_back_path  ];then
  mkdir $mysql_back_path
fi

#########################备份数据库###############################
/usr/bin/mysqldump $dbname>$mysql_back_path/$time.sql

# 将文件压缩
tar -zcPf $mysql_back_path/$time.sql.tar.gz $mysql_back_path/$time.sql

# 删除sql文件
rm -rf $mysql_back_path/$time.sql
echo '数据库备份完成'
exit;
########################删除七天以上的备份文件##################
 
find /backup/szdblog_com_mysqlback -type f -name "*.sql"  -mtime +7 -exec rm {} \;
######################将文件备份到githuab######################
 
cd /backup/szdblog_com_mysqlback/
git add .
git commit -m "数据库备份$time"
git pull origin master
git push origin master

完后在github/gieee上创建szdblog_com_mysqlback仓库
完后在服务器:
cd /backup
git clone xxxx.szdblog_com_mysqlback.git
加入到定时任务
crontab -e

0

—— 评论区 ——

昵称
邮箱
网址
取消
  1. 头像
    花生π
    iOS 13.1.3   Safari
    回复

    (☆ω☆春有百花秋有月,夏有凉风冬有雪

    1. 头像
      回复
      @花生π

      (☆ω☆春有百花秋有月,夏有凉风冬有雪

博主栏壁纸
博主头像 流苏小筑

步伐虽小,密而不止

133 文章数
27 标签数
16 评论量