rsync简单使用及自动备份教程

文章2021-08-25
rsync简单使用及自动备份教程-下一朵云

1.安装

yum install rsync -y

2.命令格式

Rsync的命令格式可以为以下六种:

1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号”:”分隔符时就启动这种工作模式。如:rsync -a /data /backup

rsync [OPTION]… SRC DEST

2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号”:”分隔符时启动该模式。如:rsync -avz *.c foo:src

rsync [OPTION]… SRC [USER@]HOST:DEST

3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号”:”分隔符时启动该模式。如:rsync -avz foo:src/bar /data

rsync [OPTION]… [USER@]HOST:SRC DEST

4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含”::”分隔符时启动该模式。如:rsync -av root@172.16.78.192::www /databack

rsync [OPTION]… [USER@]HOST::SRC DEST

5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含”::”分隔符时启动该模式。如:rsync -av /databack root@172.16.78.192::www

rsync [OPTION]… SRC [USER@]HOST::DEST

6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://172.16.78.192/www

rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]

3.文件同步

3.1 本地同步:/tmp路径下a文件夹里的文件同步到b文件夹

rsync -av /tmp/a/ /tmp/b

3.2 SSH连接同步

rsync -av -e "SSH -p 22" /tmp/a/ root@192.168.1.2:/tmp/c

回车后需要输入root密码,如果想设置免密直接同步,需要先设置ssh登录的免输入密码,详细教程参考《SSH配置key免密码登录》

3.3 rsync服务登录

vi /etc/rsyncd.conf

配置文件如下:

uid = root
gid = root
[test123]
path = /tmp/test
list = yes
read only = no
ignore errors

同步命令

rsync -av /tmp/a/ 192.168.1.2::test123
rsync -av 192.168.1.2::test123 /tmp/a/

设置密码

vi /etc/rsyncd.conf

修改配置文件

uid = root
gid = root
secrets file = /etc/rsyncd/rsyncd.secrets
[test123]
path = /tmp/test
list = yes
read only = no
ignore errors
auth users = orcy

修改密码保存文件

vi /etc/rsyncd/rsyncd.secrets

文件内容为用户:密码

orcy:123456
chmod 600 /etc/rsyncd/rsyncd.secrets

此时同步则需要输入密码

rsync orcy@192.168.1.2::test123 /tmp/a

设置自动输入免密,无需手动输入

vi /etc/rsyncd/rsyncd.password

内容添加上边的明文用户密码

123456
chmod 600 /etc/rsyncd/rsyncd.password

同步命令

rsync -av --password-file=/etc/rsyncd/rsyncd.password orcy@192.168.1.2::test123 /tmp/a

此时就无需手动输入密码,可以将此命令写入脚本或者定时任务,自动执行!