备份指定表:
#!/bin/bash
#设置mysql备份目录
folder=/xx/xxx/xxx
cd $folder
day=`date +%Y%m%d`
rm -rf $day
mkdir $day
cd $day
#数据库服务 ip
host=localhost
#用户名
user=xxx
#密码 #&这些需要转义加\
password=xxxxx
#要备份的数据库
db=xxxxx
#需要备份的 tables
tables=(xxxxx xxxxxxx xxxxxx)
echo "================ 开始备份.. ================="
# 遍历备份的数据库表
for t in ${tables[@]};
do
backup_file="${t}.sql"
echo ${t}
if [ ! -e "$backup_file" ];
then
echo $backup_file
rm -f "$backup_file"
fi
# 最核心的就是这句话,使用mysqldump命令执行备份
# $db $t 数据库 相应的表
mysqldump -h${host} -u${user} -p${password} $db $t >$backup_file
done
finish_date=`date '+%Y-%m-%d %H:%M:%S'`
echo "================ 结束备份... at ${finish_date}.==="
#数据要保留的天数
days=15
cd ..
day=`date -d "$days days ago" +%Y%m%d`
#删除 相应的文件
rm -rf $day
备份指定库
#!/bin/bash
#设置mysql备份目录
folder=/xxx/xxx/xxx
cd $folder
day=`date +%Y%m%d`
rm -rf $day
mkdir $day
cd $day
echo ${folder}/${day}/51design.sql.gz
#数据库服务 ip
host=localhost
#用户名
user=xxx
#密码 #&这些需要转义加\
password=xxx
#要备份的数据库
db=xxx
# 最核心的就是这句话,使用mysqldump命令执行备份
# $db $t 数据库
mysqldump -h${host} -u${user} -p${password} $db |gzip > ${folder}/${day}/51design.sql.gz
finish_date=`date '+%Y-%m-%d %H:%M:%S'`
echo "================ 结束备份... at ${finish_date}.==="
#数据要保留的天数
days=15
cd ..
day=`date -d "$days days ago" +%Y%m%d`
#删除 相应的文件
rm -rf $day
参考过一篇文字写的,不过忘了是哪个了