当前位置:文档之家› Linux下文件定时同步

Linux下文件定时同步

Linux下Rsync定时同步文件
一、rsync安装
1、两台服务器
Client------------222.27.106.89 (rsync的Client端)
Server------------222.27.106.99 (rsync的server端)
2、安装过程
(1)服务端rsync安装
tar -zxvf rsync-3.0.7.tar.gz
cd rsync-3.0.7
./configure
make
make install
说明一点,客户机和服务器都要安装rsync。

客户机以客户端
方式运行rsync,服务器端以服务器方式运行rsync,它监听873
端口
(2)配置文件
# touch /etc/ rsyncd.conf
# vi /etc/ rsyncd.conf (内容如下)
#全局配置部分
secrets file = /etc/rsyncd.secrets
read only = yes
list = yes
uid = root
gid = root
hosts allow = 222.27.106.89222.27.106.88 #客户端IP地址,多个IP以空格分开
#hosts deny = 10.4.5.0/24
use chroot = no
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
charset=GBK
#模块配置部分
[rsyncd]
comment = pag's directory #(自己的说明)
path = /home/test#(要同步server端的目录)auth users = rsync #(用到的用户)
secrets file = /etc/rsyncd.secrets
(3)生成验证证文件
# echo "rsync:rsync" > /etc/rsyncd.secrets (rsync:rsync为用户
和密码,格式为user:passwd)
# chown root:root /etc/rsyncd.secrets
# chmod 600 /etc/rsyncd.secrets
(4)最后在server端将rsync以守护进程形式启动
命令为: rsync --daemon
rsync启动的端口为873端口
最好用ntsysv或者chkconfig将rsync设置为开机自动启动
chkconfig --level 35 rsync on
二.Clent端的配置
1.在/etc下面编辑一个rsyncd.secrets的密码存放文件即可
# echo "rsync" > /etc/rsyncd.secrets
# chmod 600 /etc/rsyncd.secrets
2. 执行命令为:
rsync -vzurtopg --progress --delete rsync@222.27.106.99::rsyncd
/home/test --password-file=/etc/rsyncd.secrets
setsid rsync -vzurtopg --iconv=GBK,GBK--progress
rsync@172.16.1.64::rsyncd /APP/resource
--password-file=/etc/rsyncd.secrets
rsync -vzurtopg --progress rsync@172.16.1.64::rsyncd /APP/resource --password-file=/etc/rsyncd.secrets
参数详解:
v 表示详细提示
z 表示压缩
u 表示只进行更新
topg 保持文件原有属性如属主、时间的参数
--progress 指显示
--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
root 为用户名
@222.27.106.99为服务器IP
::后面的rsyncd为认证的模块名
/home/test 为备份到本地的目录名
--password-file=/etc/rsync.secret 制定密码存放位置的地址3. 可以编写脚本rsync.sh
创建/etc/ rsync.sh,添加如下信息:
#!/bin/bash
rsync -vzurtopg --progress --delete rsync@222.27.106.99::rsyncd /home/test/software --password-file=/etc/rsyncd.secrets
然后将该脚本加入到/etc/crontab文件中定时执行更新
4. crontab的设置(定时更新)
# vi /etc/ rsync.sh
文件内容为:
rsync -vzurtopg --progress --delete rsync@222.27.106.99::rsyncd /home/test/software --password-file=/etc/rsyncd.secrets
setsid rsync -vzurtopg --iconv=GBK,GBK--progress
rsync@172.16.1.64::rsyncd /APP/resource
--password-file=/etc/rsyncd.secrets
# chmod 755 /etc/rsync.sh
# crontab –e 加入以下内容:
*/1 * * * * /bin/sh /etc/rsync.sh (每一分钟来同步一次)
备注:10 4 * * * 每天4点10分
crontab –e 10 11 * * * /bin/sh /etc/rsync.sh
三.相关命令
service crond start 注:启动crond
killall crond 注:杀死crond 服务器的进程;
ps aux |grep crond 注:查看一下是否被杀死/启动;
fstab 修改挂载的盘符,中文不乱码
/dev/sdb1 /APP ntfs defaults,codepage=936,iocharset=cp936 0 0。

相关主题