双机备份
跳到导航
跳到搜索
双机定时备份资料整理 运行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
#!/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
完成后,chmod +x backup.sh,将权限改为可执行 然后crontab -e编辑定时触发事件,每天凌晨3点执行backup.sh
01 3 * * * /usr/sbin/backup.sh