linux备份数据库

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

1.sh文件

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

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

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

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

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

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

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

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

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

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

else

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

fi
done


2.创建crontab 

cd /etc

vim crontab

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


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


最后重新载入crontab

/sbin/service crond reload


相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...