服务器上的mysql数据库,需要自动进行备份,防止各种被搞,具体脚本如下:

#!/bin/bash
# 数据库备份脚本
# 使用方法:
# 修改脚本执行权限 命令:chmod 755 bak.sh 
# 添加至定时任务 命令:crontab -e 编辑内容如下
# 每日凌晨3点触发
# 0 3 * * * /usr/local/dbbak/bak.sh


date=$(date +%Y%m%d)

# 替换成你的数据库名称
db=test

# 替换成你的数据库登录用户名
user=root

# 替换成你的数据库登录密码
pass=123456

filename=$db'_'$date'.sql'

bakpath=/home/db_bake/$db


# 保存历史备份天数
keepdays=30

echo "mysqldump start... "

if [ -e $bakpath ]

then

echo $bakpath is exists

else

mkdir -p $bakpath

echo dir $bakpath created

fi

if [ -d $bakpath ]

then

mysqldump -u$user -p$pass $db &> $bakpath/$filename

find $bakpath -mtime +$keepdays -name '*.sql' -exec rm -rf {} \;

echo "mysqldump done."

fi


根据脚本的说明,设置系统定时任务

这样数据库可以每天给你定时备份,并且还可以定时清理历史备份