當(dāng)前位置: 首頁(yè)IT技術(shù) → 利用crontab定時(shí)備份mysql至本機(jī)

利用crontab定時(shí)備份mysql至本機(jī)

更多

MYSQL定期備份是一項(xiàng)重要的工作,但人工操作太繁瑣,也難避免有所疏漏,本文主要講述利用crontab定時(shí)備份mysql至本機(jī),以及利用rsync同步數(shù)據(jù)到異機(jī),從而達(dá)到異機(jī)定時(shí)備份。

mysql定時(shí)備份篇

1、創(chuàng)建備份文件夾
#mkdir -p /u01/bak/mysqldata
2、編寫(xiě)運(yùn)行腳本
#vim /usr/sbin/bakmysql.sh

代碼:
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
backupdir=/u01/bak/mysqldata
time=` date +%Y%m%d%H `
/usr/bin/mysqldump -u root -ppassword dataname  > $backupdir/name1$time.sql
/usr/bin/mysqldump -u root -ppassword dataname  > $backupdir/name2$time.sql
/usr/bin/mysqldump -u root -ppassword dataname > $backupdir/name3$time.sql
#
find $backupdir -name "*.sql" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
注:刪除5天前備份文件
3、為腳本添加執(zhí)行權(quán)限
# chmod +x /usr/sbin/bakmysql.sh
4、修改/etc/crontab
58 23 * * * root /usr/sbin/bakmysql.sh

注:每晚23:58執(zhí)行一次自動(dòng)備份
5、重啟crontab
# /etc/rc.d/init.d/crond restart
6、恢復(fù)數(shù)據(jù)備份文件
#mysql -u root -p dataname < name2008010103.sql

異機(jī)同步篇(使用rsync算法)

1、配置hosts(主機(jī)、備機(jī))
#vim /etc/hosts
IP1     hostname1
IP2     hostname2

2、安裝rsync(主機(jī)、備機(jī))

#yum install rsync

3、 配置rsync服務(wù)器

#vim /etc/rsyncd.conf

uid = root

gid = root

max connections = 200

timeout = 600

use chroot = no

read only = no

port = 873

log file=/var/log/rsyncd.log

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsyncd.lock

[test]

path=/u01/bak/mysqldata

comment=backup test

ignore errors

hosts allow=IP2

auth user=test

secrets file=/root/rsync.passwd

#vim /root/rsync.passwd

test 123456

#chown root:root/root/rsync.passwd

#chmod 600 /root/rsync.passwd

4、 配置rsync客戶(hù)端

#vim /etc/rsyncd.conf

uid = root

gid = root

max connections = 200

timeout = 600

use chroot = no

read only = no

port = 873

log file=/var/log/rsyncd.log

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsyncd.lock

[test]

path=/home

comment=backup test

ignore errors

hosts allow=IP1

auth user=test

secrets file=/root/rsync.passwd

#vim /root/rsync.passwd

123456

#chown root:root/root/rsync.passwd

#chmod 600 /root/rsync.passwd

5、啟動(dòng)rsync服務(wù)(主機(jī)、備機(jī))

#/usr/bin/rsync --daemon

#netstat -an | grep 873

注:開(kāi)機(jī)啟動(dòng)如下

#vim /etc/rc.d/rc.local

/usr/bin/rsync --daemon

6、編寫(xiě)定時(shí)同步腳本

#vim /etc/rsync.sh
代碼:

#!/bin/bash
#Name:rsync.sh
#This is a ShellScript For Data synchronization
rsync -vrtopg --progress --delete root@IP1::test/ /home --password-file=/root/rsync.passwd

7、設(shè)置定時(shí)執(zhí)行

#chmod +x /etc/rsync.sh

#vim /etc/crontab

58 23 * * * root /etc/rsync.sh

8、重啟crontab
# /etc/rc.d/init.d/crond restart

至此mysql異機(jī)定時(shí)備份完成,建議一周內(nèi)須查看備份效果,以及測(cè)試mysql備份可用性。

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)