2023年7月30日发(作者:)
38
效劳器备份方案
一、MYSQL数据库备份与恢复:
数据库本地备份:当数据量少的时候可以在每天凌晨1点-3点进行完全备份,随着数据库的增大,可 以2两小时〔根据需求设置时间〕做增量备份与完全备份相结合的备份方式以保证数据的平安.
数据库完全备份脚本:
1 .确定我们备份文件存放的目录这里我把所有备份文件放到/home/mysqlback
2 .确定需要备份的数据库,这里我们用备份d_test这个数据库来说明.
3 .确定我们要备份的时间,我们以每天两小时备份一次做说明.
#!/bin/sh
dbuser="root"
dbpasswd="123456〞
dbname="d_test〞
date1='date +%Y%m%d'
date2=、date +%Y%m%d%H%M%S、
date3='date -d -5day +"%Y%m%d"'
back="/home/mysqlback/$date1〞 if [ ! -d $back ] then
mkdir -p $back fi
mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$
cd /home/mysqlback rm -rf $date3
#!/bin/sh#shell 脚本
页脚内容 38
dbuser="root"
dbpasswd="123456"
dbname="dtest"
#定义数据库用户名
# 定义数据库密码
# 定义需要备份的数据库
date1='date +%Y%m%d'
# 读取当前日期
date2 = 'date +%Y%m%d%H%M%S、#读取当前的日期时间Y年m月d日H小时M分钟S
秒
date3 = 'date -d -5day +"%Y%m%d"'#读取当天日期之5天前的日期
back = /home/mysqlback/$date1# 备份文件存放目录
# 判断是不是有文件存放目录如果没有那么新建.
if [ ! -d $back ]
then
mkdir -p $back fi
# 使用mysqldump命令来备份指定的数据库并且压缩成gz包.
mysqldump -u$dbuser -p$dbpasswd $dbname | gzip > $back/$dbname$
# 删除指定5天前备份的过期文件以便节省磁盘空间
cd /home/mysqlback
rm -rf $date3
异地备份
首先准备一台异地的效劳器,并且搭建好vsftp〔vsftp具体搭建详细步骤请参考VSFTP搭建文档〕
异地备份到vsftp效劳器上脚本如下:
#!/bin/sh
echo "start backup"
dbuser="root"
贝脚内容
38 dbpasswd="123456" dbname="dtest" date1='date +%Y%m%d' date2=、date
+%Y%m%d%H%M%S、 date3='date -d -4day +"%Y%m%d"' back="/home/ftp1/$date1" if
[ ! -d $back ] then mkdir -p $back fi mysqldump -u$dbuser -p$dbpasswd
$dbname | gzip > $back/ sleep 5s cd $back ftp < open 192.168.16.104 user ftp1 1123456 binary put rename $ close bye EOF 贝脚内容 38 mv $ I cd /home/ftpl rm -rf $date3 数据库恢复或者重建,由于是完全备份,可以直接恢复最后一次完全备份文件. gunzip〈备份. | mysql -u root -p d_test 二.文件备份与恢复: 由于文件一般都比拟大,所以我们采用完整与增量结合的方式做备份,每个星期〔时间具体情况而定〕 备份完整备份一次文件,每天做一次增量备份.备份脚本如下 #!/bin/sh wenjian="/home/backwenjian〞 backlog="/home/backlog〞 date1='date +%Y%m%d' date2=、date +%Y%m%d%H%M%S、 date3='date -d -14day +"%Y%m%d"' back="/home/beifen/$date1〞 if [ ! -d $back ] then mkdir -p $back fi tar -g $backlog -zcf $back/$ $wenjian cd /home/beifen rm -rf $date3 #!/bin/sh #shell脚本 贝脚内容 企划编号:克烨O.2 wenjian="/home/backwenjian backlog="/home/backlog" date1='date +%Y%m%d' date2=、date +%Y%m%d%H%M%S、 date3='date -d -14day +"%Y%m%d" back="/home/beifen/$date1" #指定需要备份的文件目录 #指定备份时候记录文件 #读取当前日期 #读取当前日期时间 #读取14天前的日期 #指定备份存放的文件目录 #判断是不是有文件存放目录如果没有那么新建 if [ ! -d $back ] then mkdir -p $back fi #用tar备份指定文件并打包 tar -g $backlog -zcf $back/$ $wenjian #命令在第一次使用的时候是完整 备份,之后使用那么是增量备份 #进入备份存放目录删除指定时间目录 cd /home/beifen rm -rf $date3 如果需要一周备份一次完整备份,我们只需要把记录文件删除或者备份到其他目录或者改名就好下面是 脚本 # ! /sbin/sh date='date +%Y%m%d' mv /home/backlog /home/backlog-$date 文件恢复: 使用tar解包命令进行解包,恢复顺序为,最后一次完整备份+最后一次完整备份后的一次增量备份 贝脚内容 38 +……+最后一次增量备份. 脚本运行时间也是备份策略时间: 一种系统默认自动执行的目录有一下几个,如果备份策略规律符合下面的策略时间的话,可以把编写的 shell脚本放入对应的目录即可,系统会自动运行对应文件,提示:所以的shell脚本要给予执行权 限,否那么无法执行. /etc// 每天执行一次 /etc/y/ 每月执行一次 /etc// 每周执行一次 /etc// 每小时执行一次 另外我们可以自己定义时间策略规律: 可以直接用命令:crontab -e来编辑,这个命令编辑的文件是/var/spool/cron/下面对应的用户 cron文件,如果你用的是root用户编辑的,那么你编辑的就是/var/spool/cron/root文件.也 可以直接修改/etc/crontab文件. 编辑文件格式如下: Minute Hour Day Month Dayofweek Command 分钟 小时天 月每星期那天 命令 字段的代表的意思: Minute代表每个小时第几分钟执行指定任务 Hour代表每天的第几个小时执行指定任务 Day代表每月的第几天执行指定的任务 Month代表每年的第几个月执行指定任务 Dayofweek 代表每周的第几天执行指定任务 Command代表指定要执行的程序 这些字段除了 Command是每次必须指定的以外其他的可以可选,不指定的可以用*代替 贝脚内容 38 下面举例说明: 分钟小时天 月每星期那天命令 10****sh/home/sh/mysql_指定每小时的第 10 分钟执行一次sh命令/home/sh/mysql_ 是指定的脚本路径 1013***sh/home/sh/mysql_指定每天 13 点第 10分钟执行一次sh命令/home/sh/mysql_ 是指定的脚本路径 101322**sh/home/sh/mysql_指定每月 22 号 13 点第10分钟执行一次sh命令/home/sh/mysql_是指定的脚本路径 1013225*sh/home/sh/mysql_指定每年的 5 月 22 号13点第10分钟执行一次sh命令/home/sh/mysql_ 是指定的脚本路径 1013**2sh /home/sh/mysql_指定每星期二 13 点 第10分钟执行一次sh命令/home/sh/mysql 是指定的脚本路径〔星期的数字代表分 — 别为:0星期天1星期一 2星期二……6星期六〕 */10****sh /home/sh/mysql_ 指定每 10 分钟 〔每小时第10 20 30 40 50 60〕执行一次sh命令 /home/sh/mysql_ 是指定的脚本 路径 1013-18***sh /home/sh/mysql_ 指定每天 13 点 到18点的第10分钟执行一次sh命令/home/sh/mysql_是指定的脚本路径 101322, 2 6**sh /home/sh/mysql_ 指定每月 22 号 以及26号的13点第10分钟执行一次sh命令/home/sh/mysql_是指定的脚本路径 1013*/22**sh /home/sh/mysql_ 指定每隔 22 天 13点10分钟执行一次sh命令/home/sh/mysql_是指定的脚本路径 1013***root run-parts /home/sh/ 指定每天 13 点第 10 分 页脚内容企划编号:克烨O.2 钟执行/home/sh/下面的所有可以执行的文件. 我们通过上面的举例可以灵活设置出实际需求策略. 贝脚内容
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690652619a386945.html
评论列表(0条)