原创

mysql在linux上的定时备份脚本

原始脚本来源于百度,忘记了是谁的博客,稍微修改了下。
目前功能可以备份指定数据库的脚本,可以自定义最多保存的天数。

备份脚本

#!/bin/bash
#设置mysql的备份保存目录
folder=/app/backup

#数据库服务器ip,填写服务器的公网地址即可
host=127.0.0.1
#数据库端口
port=1306
#用户名
user=root
#密码
password="TPC@19900606#dcits"
#要备份的数据库名,可选多个,每个数据库生成一个备份文件
db=("dtmp" "atp" "rmp" "pts")
#保留时间,天
keepday=10
cd $folder
num=`ls|wc -l`
if [[ $num -gt $keepday ]]
then
ls -ltr | grep '^d'|head -1|awk '{print $9}'|xargs rm -rf
fi

day=`date +%Y%m%d`
mkdir -p "$day"
cd $day

#执行备份语句
for var in ${db[@]};
do
mysqldump -h$host -P$port -u$user -p$password $var > ./$var.sql
done

crontab定时设置

#每天凌晨2点执行备份

0 2 * * 1,2,3,4,5,6,7 /etc/profile;/bin/sh /app/backup/mysqlback.sh
正文到此结束