双机定时备份资料整理
运行ntsysv,确保crond服务和rsync服务都自动运行
chkconfig --list检查服务列表,rsync服务基于xinetd服务,首先保证xinetd已启动
service crond start
service rsync start
用ssh的公私钥的方法将两台机器用不输入密码的方法就可以访问,在主服务器终端:
cd /root
mkdir .ssh
ssh-keygen -t dsa
提示输入密码时不输入密码
将生成的 id_dsa.pub文件拷贝到备份服务器上,文件在你登陆用户目录的.ssh下
在备份服务器上将id_dsa.pub文件放到本机帐号的.ssh下,改名为authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
在主服务器上编辑备份脚本
cd /usr/sbin/
vi backup.sh
##############################################start###############################
#!/bin/sh
# 将所有错误信息重定向到文件/tmp/error.txt中
exec 2>/tmp/error.txt
#停止mysql&PHP
/sbin/service httpd stop
/sbin/service mysql stop
#双机备份:用rsync备份数据库nbw1和论坛数据库vbb_db到备份服务器目标目录,生成以当前备份日期和时间命名的目录
date='date +%F-%H-%M'
rsync -za -e ssh --delete --progress /usr/local/mysql/data/nbw1 root@backserverIP:/DESTdir/$date
rsync -za -e ssh --delete --progress /usr/local/mysql/data/vbb_db root@backserverIP:/DESTdir/$date
#双机备份:用rsync异地同步备份htdocs目录,这样只拷贝不一样的内容并删除目标目录冗余内容
rsync -za -e ssh --delete --progress /usr/local/apache/htdocs root@DESTserverIP:/DESTdir
#本地备份:用rsync备份数据库nbw1和论坛数据库vbb_db到本机备份目录,生成以当前备份日期和时间命名的目录
rsync -ruv --delete --progress /usr/local/mysql/data/nbw1 /DESTdir/$date
rsync -ruv --delete --progress /usr/local/mysql/data/vbb_db /DESTdir/$date
#本地备份:用rsync本地同步备份htdocs目录,这样只拷贝不一样的内容并删除目标目录冗余内容
rsync -ruv --delete --progress /usr/local/apache/htdocs /localbackdir
#再次启动mysql&PHP
/sbin/service mysql start
/sbin/service httpd start
#################################################end#################################
完成后,chmod +x backup.sh,将权限改为可执行
然后crontab -e编辑定时触发事件,每天凌晨3点执行backup.sh
01 3 * * * /usr/sbin/backup.sh
阅读(759) | 评论(0) | 转发(0) |