mysql在linux上的定时备份脚本

  baikapala

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

备份脚本

#!/bin/bash

#设置mysql的备份保存目录

folder=/app/backup

#数据库服务器ip,填写服务器的公网地址即可

host=127.0.0.1

#数据库端口

port=3306

#用户名

user=root

#密码

password=""

#要备份的数据库名,可选多个,每个数据库生成一个备份文件

db=("dtmp" "atp")

#保留时间,天

keepday=10

num=`ls|wc -l`

if [[ $num -gt $keepday ]]

then

ls -ltr | grep '^d'|head -1|awk '{print $9}'|xargs rm -rf

fi

cd $folder

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
以前,我总以为自己是菜鸟,也总想着早起的鸟儿有虫吃。直到有一天我想飞,才愕然的发现自己没有翅膀和羽毛,我竟然是菜虫!早起的虫儿被鸟吃……原来,百足应该厚积薄发!