负责数据库的备份,实现周一之周六增量备份,周日全量备份

<强> 1,mysqlmysqllogbin /etc/my . cnf中所做

, (mysqld)

log-bin="/home/mysql/logbin。日志”

binlog-format=行

log-bin-index="/home/mysql/logindex”

binlog_cache_size=32 m

max_binlog_cache_size=512

max_binlog_size=512 mysql/home/mysqlmysql

<强> 2

/home/mysql/

mkdir - p/home/mysql/备份/每日

cd/home/mysql binlogbak.sh第六

# !/bin/bash

export.UTF-8

BakDir=/home/mysql/备份/每日

BinDir=/home/mysql

日志文件=/home/mysql/备份/binlog.log

BinFile=/home/mysql/logindex。指数

mysqladmin -uroot -proot123flush-logs

# mysql-bin。00000 *

Counter=皐c - l $ BinFile | awk的{打印1美元}'

NextNum=0

#美元,美元NextNum

文件在“猫BinFile美元”

做,,,基?' basename美元文件'

,,,# basenamemysql-bin.00000 *。/mysql-bin.000005./

,,,NextNum=expr NextNum + 1美元的

,,,如果[$ NextNum eq $计数器]

,,,然后

,,,,,,,echo $基地跳过!在比;美元的日志文件

,,,其他

,,,,,,,dest=$ BakDir/$基地

,,,,,,,如果(测试- e dest美元)

,,,,,,,#测试-eexist ! $日志文件

,,,,,,,然后

,,,,,,,,,,,echo $基地存在!在比;美元的日志文件

,,,,,,,其他

,,,,,,,,,,,cp BinDir美元/基地BakDir美元

,,,,,,,,,,,美元,回波基地复制比美元的在日志文件

,,,,,,,fi

,,,fi

完成回声“日期+“Y % % m H % d %: % m: % S”“Bakup succ !在比;美元的日志文件

binlogbak。sh

chmod + x/home/mysql/binlogbak。sh

<强> 3

vi databak.sh

# !/bin/bash

export.UTF-8

BakDir=/home/mysql/备份日志文件

=/home/mysql/备份/bak。日志

日期=叭掌? % Y % m % d”

开始='日期+“Y % % m H % d %: % m: % S”的

cd $ BakDir

DumpFile=$ Date.sql

GZDumpFile=$ Date.sql。tgz

, mysqldump -uroot -proot123——所有数据库flush-logs delete-master-logs——单独的事务在美元DumpFile

焦油-czvf GZDumpFile DumpFile美元DumpFile美元rm

,

=$ (ls - l *。tgz | wc - l)

如果[美元计算通用电气5]

然后

文件=$ (ls - l *。tgz | awk的{打印9美元}| awk NR==1)

rm - f $文件

fi

#

,

最后='日期+“Y % % m H % d %: % m: % S”的

回声:美元开始:去年美元GZDumpFile succ祝辞祝辞美元的日志文件

cd $ BakDir/每日rm - f *

databak。sh

chmod + x/home/mysql/databak。sh

<强> 4

crontab - e

# 3

0 3 * * 0/home/mysql/databak。sh在/dev/null 2祝辞,1

# 3

0 3 * * 1 - 6/home/mysql/binlogbak。sh在/dev/null 2祝辞,1

crontab/etc/crontab

crontab - l


负责数据库的备份,实现周一之周六增量备份,周日全量备份