创建相关目录及文件
mkdir /etc/rsyncd
touch /etc/rsyncd/rsyncd.conf
touch /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets
ls -lh /etc/rsyncd/rsyncd.secrets
touch /etc/rsyncd/rsyncd.motd
创建相关用户
adduser linuxsir
adduser beinan
rsync服务器主要配置文件 rsyncd.conf
vi /etc/rsyncd/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.16.192
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow=192.168.16.0/255.255.255.0
hosts deny=*
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[linuxsirhome]
path = /home
list=yes
ignore errors
auth users = linuxsir
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir home
exclude = beinan/ samba/
[beinan]
path = /opt
list=no
ignore errors
comment = optdir
auth users = beinan
secrets file = /etc/rsyncd/rsyncd.secrets
注: 关于 auth users 是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = beinan , linuxsir
修改密码文件/etc/rsyncd/rsyncd.secrets 内容格式
用户名:密码
vi /etc/rsyncd/rsyncd.secrets
linuxsir:222222
beinan:333333
定义rysnc 服务器用户登录信息
vi /etc/rsyncd/rsyncd.motd
+++++++++++++++++++++++++++
+linuxsir.org rsync 2002-2009+
+++++++++++++++++++++++++++
启动rsync服务器;
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
使用非root用户
su - beinan
rsync --list-only ::
rsync --list-only
rsync --list-only
6.2 rsync 客户端同步数据;
rsync -avzP linuxsirhome
这次我们加了一个选项 --password-file=rsync.password ,这是当我们以linuxsir用户登录rsync服务器同步数据时,密码将读取 rsync.password 这个文件。这个文件内容只是linuxsir用户的密码。我们要如下做;
touch rsync.password
chmod 600 rsync.password
echo "222222"> rsync.password
rsync -avzP --delete --password-file=rsync.password linuxsirhome
6.3 让rsync 客户端自动与服务器同步数据;
第一步:创建同步脚本和密码文件
mkdir /etc/cron.daily.rsync
cd /etc/cron.daily.rsync
touch linuxsir.sh beinan.sh
chmod 755 /etc/cron.daily.rsync/*.sh
mkdir /etc/rsyncd/
touch /etc/rsyncd/rsynclinuxsir.password
touch /etc/rsyncd/rsyncbeinan.password
chmod 600 /etc/rsyncd/*.password
vi /etc/linuxsir.sh
#!/bin/sh
#linuxsir.org home backup
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsynclinuxsir.password /home/linuxsirhome/$(date +'%m-%d-%y')
beinan.sh
#!/bin/sh
#linuxsir.org beinan home backup
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsyncbeinan.password /home/beinanhome/$(date +'%m-%d-%y')
修改 /etc/rsyncd/rsynclinuxsir.password 和 rsyncbeinan.password的内容
echo "222222" > /etc/rsyncd/rsynclinuxsir.password
echo "333333"> /etc/rsyncd/rsyncbeinan.password
mkdir /home/linuxsirhome
mkdir /home/beinanhome
crontab -e
# Run daily cron jobs at 4:10 every day backup linuxsir data:
10 4 * * * /usr/bin/run-parts /etc/cron.daily.rsync 1> /dev/null
第一行是注释,是说明内容,这样能自己记住。
第二行表示在每天早上4点10分的时候,运行 /etc/cron.daily.rsync 下的可执行脚本任务;