mysql定时备份脚本
2016-07-19 10:23
519 查看
#/bin/bash
set -x
#-------------------------------------------------------------
database=CMDB
user=root
password=root
#-------------------------------------------------------------
time=$(date +%Y%m%d%H%M%S)
folder=$(ls /opt | grep -w mysqldatabase_bak)
#-------------------------------------------------------------
#database exprot
if [ $folder == mysqldatabase_bak ] ; then
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
else
mkdir /opt/mysqldatabase_bak
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
fi
#-------------------------------------------------------------
#database Periodically delete
find /opt/mysqldatabase_bak -mtime +7 -name "*.zip" -exec rm -rf {} \;
#-------------------------------------------------------------
#crontab
crontab=$(cat /var/spool/cron/root | grep mysqldatabase_bak_for_centos.sh | awk '{print $8}')
if [ $crontab == ./mysqldatabase_bak_for_centos.sh ] ; then
echo "crontab is ok!"
else
echo "1 1 * * * cd /opt/mysqldatabase_bak;bash ./mysqldatabase_bak_for_centos.sh" >> /var/spool/cron/root
fi
#-------------------------------------------------------------
#move
pwd=$(pwd)
if [ $pwd == /opt/mysqldatabase_bak ] ; then
echo "The scripts directory is ok!"
echo "The scripts directory is /opt/mysqldatabase_bak"
else
cp mysqldatabase_bak_for_centos.sh /opt/mysqldatabase_bak
rm -f mysqldatabase_bak_for_centos.sh
fi
附件:http://down.51cto.com/data/2367936
set -x
#-------------------------------------------------------------
database=CMDB
user=root
password=root
#-------------------------------------------------------------
time=$(date +%Y%m%d%H%M%S)
folder=$(ls /opt | grep -w mysqldatabase_bak)
#-------------------------------------------------------------
#database exprot
if [ $folder == mysqldatabase_bak ] ; then
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
else
mkdir /opt/mysqldatabase_bak
mysqldump -u$user -p$password $database > /opt/mysqldatabase_bak/$database$time.sql
zip -r /opt/mysqldatabase_bak/$database$time.sql.zip /opt/mysqldatabase_bak/$database$time.sql
rm -f /opt/mysqldatabase_bak/$database$time.sql
fi
#-------------------------------------------------------------
#database Periodically delete
find /opt/mysqldatabase_bak -mtime +7 -name "*.zip" -exec rm -rf {} \;
#-------------------------------------------------------------
#crontab
crontab=$(cat /var/spool/cron/root | grep mysqldatabase_bak_for_centos.sh | awk '{print $8}')
if [ $crontab == ./mysqldatabase_bak_for_centos.sh ] ; then
echo "crontab is ok!"
else
echo "1 1 * * * cd /opt/mysqldatabase_bak;bash ./mysqldatabase_bak_for_centos.sh" >> /var/spool/cron/root
fi
#-------------------------------------------------------------
#move
pwd=$(pwd)
if [ $pwd == /opt/mysqldatabase_bak ] ; then
echo "The scripts directory is ok!"
echo "The scripts directory is /opt/mysqldatabase_bak"
else
cp mysqldatabase_bak_for_centos.sh /opt/mysqldatabase_bak
rm -f mysqldatabase_bak_for_centos.sh
fi
附件:http://down.51cto.com/data/2367936
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复