linux备份数据库,数据库备份,sh备份数据库,mysql备份

1.sh文件

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
exportPATH
#数据库用户名
dbuser='root'
#数据库用密码
dbpasswd='密码'
dbname="数据库名称"

#备份时间
backtime=`date+%Y%m%d%H%M%S`

#日志备份路径
logpath='/data/mysqlbak'

#数据备份路径
datapath='/data/mysqlbak'
#echo${logpath}/${backtime}.sql

#正式备份数据库
fortablein$dbname;do
mysqldump-u${dbuser}-p${dbpasswd}$table>${logpath}/${table}${backtime}.sql

#备份成功以下操作
if["$?"==0];then
cd$datapath

#为节约硬盘空间,将数据库压缩
tarjcf${table}${backtime}.tar.bz2${table}${backtime}.sql

#删除原始文件,只留压缩后文件
rm-f${datapath}/${table}${backtime}.sql

#删除七天前备份,也就是只保存7天内的备份
find$datapath-name"*.tar.bz2"-typef-mtime+7-execrm-rf{}\;

echo"数据库表${dbname}备份成功!!">>${logpath}/mysqllog.log

else

#备份失败则进行以下操作
echo"数据库表${dbname}备份失败!!">>${logpath}/mysqllog.log

fi
done

2.创建crontab

cd/etc

vimcrontab

在crontab里面加入
5023***root/data/mysqlbak/mysql.sh


5023***这个可根据你自己的时间来定义(表示每天晚上23点50分执行)
/data/mysqlbak/mysql.sh这个是你sh文件的路径(记得给这个文件有执行权限chmod+xmysql.sh)


最后重新载入crontab

/sbin/servicecrondreload

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。