|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
exportPATH
#数据库用户名
dbuser=root
#数据库用暗码
dbpasswd=********
必要备份的数据库,多个数据库用空格分隔
dbname=xiaohuaixiaohuai2
#备份工夫
backtime=`date+%Y%m%d%H%M%S`
#日记备份路径
logpath=/home/mysqlbak
#数据备份路径
datapath=/home/mysqlbak
#日记纪录头部
echo‘"备份工夫为${backtime},备份数据库表${dbname}入手下手">>${logpath}/log.log
#正式备份数据库
fortablein$dbname;do
source=`mysqldump-u${dbuser}-p${dbpasswd}${table}>${logpath}/${backtime}.sql`2>>${logpath}/mysqllog.log;
#备份乐成以下操纵
if["$?"==0];then
cd$datapath
#为勤俭硬盘空间,将数据库紧缩
tarjcf${table}${backtime}.tar.bz2${backtime}.sql>/dev/null
#删除原始文件,只留紧缩后文件
rm-f${datapath}/${backtime}.sql
#删除七天前备份,也就是只保留7天内的备份
find$datapath-name"*.tar.bz2"-typef-mtime+7-execrm-rf{};>/dev/null2>&1
echo"数据库表${dbname}备份乐成!!">>${logpath}/mysqllog.log
else
#备份失利则举行以下操纵
echo"数据库表${dbname}备份失利!!">>${logpath}/mysqllog.log
fi
done
假如这个sh文件是在win下编纂的,必要用Uedit转换为unix格局,不然sh会实行不乐成,如图
别的,必定要记得给这个sh文件实行权限
1
chmod+x/home/sh/mysqlbak.sh
准时实行剧本:
体例:
1、
实行crontab-e
输出以下内容:
______________________________________________________________________________
0000***/bin/bashyourpath/mysqlbak.sh
2、
翻开主动实行文件
vi/etc/crontab
在etc中到场以下内容,让其主动实行义务。
0000***root/mysqlbak.sh
以上两个0000***为天天的清晨主动实行剧本
分时日月周下令
M:分钟(0-59)。每分钟用*大概*/1暗示
H:小时(0-23)。(0暗示0点)
D:天(1-31)。
m:月(1-12)。
d:一礼拜内的天(0~6,0为礼拜天)。
别的,测试的时分能够间接进进sh目次下实行
#shsh./mysqlbak.sh
等实行完了看看
#日记备份路径
logpath=/home/mysqlbak
这个目次下有无备份文件,假如有,则暗示sh实行乐成,没有毛病。
欢迎大家来到仓酷云论坛! |
|