Rsync+ssh备份方法总结
S(Save)机:存放备份文件的主机T(Target)机: 将要备份的目标主机
1.在S备份服务器上建立目录
#mkdir /backup/
#chmod 700 /backup/
2.在T目标机上找到rsync的设置文档:vi /etc/xinetd.d/rsync
[code]service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}[/code]#service xinetd restart
#chkconfig --list rsync
#chkconfig rsync on
3.
在S(save)备份机上运行:
#ssh-keygen -d 输入pass产生key
将S机上产生的SSH重命名拷到需要备份的主机T上,并重命名:
# scp /root/.ssh/id_dsa.pub xx.xx.xx.xx:/root/.ssh/authorized_keys2
考会以后直接ssh 到T机上就不用密码啦.
4.在S机上建立不同的存放目录,利用放置不主机的备份资料.
# mkdir /backup/hostA/; mkdir /backup/hostB/; mkdir /backup/hostC/
5.在S机上编写rsync执行脚本
#vi /backup/hostA/sync
rsync -avlR --delete -e ssh xx.xx.xx.xx:/var/lib/mysql /backup/hostA/
rsync -avlR --delete -e ssh xx.xx.xx.xx:/var/www/html --exclude log /backup/hostA/
注:--exclude 排队log资料,就是不备份log目录.
#chmod 700 /backup/hostA/sync
6.在s机备份服务器上运行:
crontab -e
0 0 * * * /backup/hostA/sync
0 0 * * * /backup/hostB/sync
参数意义如下﹕
-a, --archive
It is a quick way of saying you want recursion and want to preserve almost everything.
-v, --verbose
This option increases the amount of information you are given during the transfer.
-l, --links
When symlinks are encountered, recreate the symlink on the destination.
-R, --relative
Use relative paths. 保留相对路径...才不会让子目录跟 parent 挤在同一层...
--delete
是指如果Server端删除了一文件,那客户端也相应把这一文件删除,保持真正的一致。
-e ssh
建立起加密的连接。
相关参考资料: 圣诞节献礼呀! 顶一下。。。 曹大哥写的不错,支持。。。 支持!曹兄 写的不错。支持 看不懂:Q
页:
[1]