服务端操作:
1) 在服务端检查是否安装rsync软件
[root@db1]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
2) 创建并配置rsyncd.conf
[root@db1 ]# vi /etc/rsyncd.conf
sync server
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 100
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
hosts allow = 192.168.45.0/24 #允许45段的ip访问
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password #密码放的文件夹
#############################
[backup] 模块
path = /backup/
ignore errors
read only = false
list = false
#rsync_config_____________end
3) 创建rsync用户及备份文件、添加权限
[root@db1 /]# useradd rsync -s /sbin/nologin –M
[root@db1 backup]# mkdir /backup/
[root@db1 backup]# chown -R rsync.rsync /backup/ #将backup文件授权给rsync用户
4) 配置用于rsync同步的账号、密码及文件权限
[root@db1 /]# echo "rsync_backup:ruien">>/etc/rsync.password #设置账号和密码
[root@db1 /]# cat /etc/rsync.password #查看密码账号是否有设置成功
rsync_backup:ruien
[root@db1 /]# chmod 600 /etc/rsync.password #设置600权限
[root@db1 /]# ll /etc/rsync.password
-rw------- 1 root root 19 Mar 15 17:57 /etc/rsync.password
5) 启动服务
[root@db1~]# rsync --daemon #启用服务
[root@db1/]# lsof -i tcp:873 #查看873端口(873是rsync端口)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODENAME
rsync 4167 root 3u IPv4 24292 0t0 TCP *:rsync (LISTEN)
rsync 4167 root 5u IPv6 24293 0t0 TCP *:rsync (LISTEN)
[root@db1/]# ps -ef |grep rsync #查看是否运行rsync进程
root 4167 1 0 18:02 ? 00:00:00 rsync --daemon
root 4182 2534 0 18:06 pts/1 00:00:00 grep rsync
6) 杀死进程和重启进程 #这一步只是练习杀死和重启进程可以不做哈!
[root@db1/]# pkill rsync #杀死进程
[root@db1/]# lsof -i tcp:873 #查看是否有873端口的进程
[root@db1/]# rsync --daemon #启动进程
[root@db1/]# killall rsync #用killall方式杀死进程
客户端操作:
1) 在服务端检查是否安装rsync软件
[root@db1 oldboy]# rpm -qa rsync #没安装的话,yum install rsync -y
rsync-3.0.6-12.el6.x86_64
2) 配置客户端:
echo “ruien” >/etc/rsync.password #这里配置了密码,不需要账号了,这是与服务端你的区别。
chmod 600 /etc/rsync.password #给文件的权限设置为600
####check
cat /etc/rsync.password
ll /etc/rsync.password
到此rsync的服务设置已经完成了。
3) 建立备份文件夹
[root@db1 backup]# mkdir /backup/
4) 写一个脚本,将需要备份的文件以日期为命名打包到/backup/文件夹和推送到192.168.45.177备份服务器的/backup。
[root@db222 data]# vi /home/backup.sh
##### this is backup for html!
tar zcvf /backup/html_$(date +%F).tar.gz /var/www/html
rsync -avzp --password-file=/etc/rsync.password/backup/ rsync://[email protected]/backup
5) 运行一下脚本,看是否有错。
[root@db222 home]# ./backup.sh
6) 加入定时任务中
[root@db222 home]# crontab –e
#every night 23:59 backup thedata!
59 23 * * * /bin/sh /home/backup.sh #每天23::59执行一次脚本
7) 完毕