Linux 下数据库备份
(1)执行脚本,复制如下保存成 mysqlBackup.sh文件
#!/bin/bash
#在使用之前,请提前创建以下各个目录
#获取当前时间
date_now=$(date "+%Y%m%d-%H%M%S")
backUpFolder=/home/db/backup/mysql
username="root"
password="Ziroom@1018!"
db_name="dbapi"
#定义备份文件名
fileName="${db_name}_${date_now}.sql"
#定义备份文件目录
backUpFileName="${backUpFolder}/${fileName}"
echo "starting backup mysql ${db_name}at ${date_now}."
/usr/bin/mysqldump -u${username}-p${password} --lock-all-tables--flush-logs ${db_name} > ${backUpFileName}
#进入到备份文件目录
#cd ${backUpFolder}
#压缩备份文件
#tar zcvf ${fileName}.tar.gz ${fileName}
# 删除30天之前的就备份文件
# find $backup_path/* -mtime +15 -exec rm{} \;
date_end=$(date "+%Y%m%d-%H%M%S")
echo "finish backup mysql database${db_name} at ${date_end}."
(2)存放位置(linux 环境)
执行脚本位置: usr/your/path/mysqlBackup.sh
日志位置:/home/db/backup/mysql
(3)设置定时备份
打开终端,输入命令 crontab -e 进入编辑界面,将如下内容添加上即可:
每天执行:
0 0 * * * sh /usr/your/path/mysqlBackup.sh
追加:
crontab -e 查不到数据 ==》解决: sudo crontab -e