检查有没有安装rsync
一般的Ubuntu系统默认已经装了rsync
验证
rsync --version
安装
sudo apt install rsync
配置rsync
配置文件:
rsync的主要有以下三个配置文件:
rsyncd.conf ----主配置文件,需要手动生成
rsyncd.secrets ----密码文件
rsyncd.motd ----rysnc服务器信息
rsyncd.conf文件内容为
uid = nobody
#gid = nobody
#端口
port = 873
# 如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下[>
use chroot = yes
#不允许列清单
list = no
#最大连接数
max connections = 4
#pid文件的存放位置
#pidfile = /var/run/rsyncd.pid
#锁文件的存放位置
lock file=/var/run/rsyncd.lock
#日志文件的存放位置
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd/rsyncd.motd
# //此文件定义完成后系统会自动创建
exclude = lost+found/
transfer logging = yes
#覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。
timeout = 900
ignore nonreadable = yes
# //同步时跳过没有权限的目录
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
# //传输时不压缩的文件
#哪些电脑可以访问rsync服务,这里可以指定单个IP,也可以指定整个网段,能提高安全性。格式是>
#hosts allow = 172.25.0.110
#哪些电脑不可以访问rsync服务
#hosts deny = 172.25.0.0/24
#这里是认证模块名,即跟samba语法一样,是对外公布的名字
[backup]
comment = this is module for backup
#这里是参与同步的目录
path = /home/zhou/backup
#可以忽略一些无关的IO错误
ignore errors = yes
#允许可读可写
read only = no
#认证的用户名
auth users = zhou
#密码文件存放地址
secrets file = /etc/rsyncd.pass
编写用户密码文件:
echo "zhou:111111" > /etc/rsyncd.pass
修改密码文件权限
chmod 600 /etc/rsyncd.pass
启动rsync服务
sudo /usr/bin/rsync --daemon
sudo netstat -lntup |grep rsync
sudo ps -ef |grep rsync |grep -v grep
设置开机自启动
echo "/usr/bin/rsync --deamon">>/etc/rc.local #cat /etc/rc.local
安装rsync客户端(windows)
客户端下载cwRsync_4.1.0_客户端_windows.zip文件
安装后如下图,红色的是新增的一个password.txt
password.txt内容如下:111111
执行命令
D:/cwrsync/cwrsync_6.2.12_x64_free/bin/rsync.exe -avzP --port=873 --password-file=/cygdrive/D/cwrsync/cwrsync_6.2.12_x64_free/bin/password.txt -vv zhou@192.168.137.129::backup /backup/
定时同步
1. 创建一个新的任务
打开 Windows 的任务计划程序,点击 "创建基本任务"。
2. 命名任务并设置触发器
输入任务的名称和描述,然后点击下一步。在触发器设置中,选择适当的时间和频率,比如 "每天" 或 "每周",并设置具体的时间。这里你可以根据需要来设定执行同步任务的时间。
3. 选择要运行的程序
在操作选项中,选择 "启动程序",然后输入要执行的命令,例如:
Copy Code
C:\path\to\rsync.exe -avz /source_folder/ username@linux_server:/destination_folder/
这里的 C:\path\to\rsync.exe
是 rsync 在 Windows 上的路径,/source_folder/
是本地文件夹的路径,username@linux_server:/destination_folder/
是 Linux 服务器上目标文件夹的路径。
4. 完成设置
按照向导继续,最后点击 "完成" 来保存任务计划。