RSYNC(Linux to Linux)

1.RSYNC

rsync 是一个常用的 Linux 应用程序,用于文件同步。

它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。

2.安装

# Debian$ sudo apt-get install rsync# Red Hat$ sudo yum install rsync# Arch Linux$ sudo pacman -S rsync启动服务 systemctl start rsyncdsystemctl enable rsyncd默认传输端口 tcp 873检查是否启动 netstat -an | grep 873

================Linux to Linux=============

1.概况

服务端:Ubuntu IP:210.27.82.171

客户端:CentOS IP:210.27.82.189

2.服务端安装与配置

2.1服务端安装

安装服务 sudo apt-get install rsync

启动服务 systemctl start rsyncd

systemctl enable rsyncd

默认传输端口 tcp 873

查是否启动 netstat -an | grep 873 systemctl status rsync

2.2服务端配置

编辑conf文件

vim /etc/rsyncd.conf

编辑密码文件

vim /etc/rsyncd.secrets

内容

用户:密码

chmod 600 rsync.secrets

2.3连接测试

在客户端进行连接测试

rsync IP:: 可看到上述配置属组

rsync IP::属组 输入所配置的密码,进入配置的文件内

============客户端拉取与推送============

客户端拉取服务端文件 rsync -avzP --delete --password-file=/etc/rsyncd.secrets 210.27.82.171::ftp /opt/backup

-avzP --delete -------同步文件、显示进度、删除多余

-password-file=/etc/rsyncd.secret -----存放密码文件

210.27.82.171::ftp -----远端属组

/opt/backup -----备份目的地

将客户端文件推送至远端 rsync -avzp --password-file=/etc/rsyncd.secrets /opt/backup/ 210.27.82.171::ftp 与拉取区别在客户端文件夹位置在前 远端ip在后

3.计划任务

创建.sh文件

vim /etc/rsync.sh

输入拉取命令

rsync -avzP --delete --password-file=/etc/rsyncd.secrets 210.27.82.171::ftp /opt/backup

为脚本文件赋权限

chmod u+x rsync.sh

创建脚本文件

crontab -e

基本格式

*  *  *  *  *  command 分 时  日  月  周  命令

第1列表示分钟 00~59 每分钟用*或者 */1表示

第2列表示小时 00~23(0表示0点)

第3列表示日期 01~31

第4列表示月份 01~12

第5列标识号星期 0~6(0表示星期天)

第6列要运行的命令

此外每一列除了数字,还可以有这些符号,其含义如下所示:

* 代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行 , 代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行 - 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行 */n 代表每个多久执行一次,比如/10 * * * *代表每隔10分钟执行一次

示例

1、在 凌晨00:10运行

10 0 * * * sh test.sh

2、每个工作日23:59都进行备份作业。

59 23 * * 1,2,3,4,5 sh test.sh

或者

59 23 * * 1-5 sh test.sh

3、每分钟运行一次命令

*/1 * * * * sh test.sh

4、每个月的1号 14:10 运行

10 14 1 * * sh test.sh

5、每10分钟定时请求一个地址

0 */10 * * * /usr/bin/curl AAA Sorry Page

4.本地使用基本用法

-a 参数

-a参数可以替代-r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a比-r更有用。下面的用法才是常见的写法。

$ rsync -a source destination

rsync -参数 需要备份的文件 目标地址

如:rsync -a test copy-test

目标目录destination如果不存在,rsync 会自动创建。执行上面的命令后,源目录source被完整地复制到了目标目录destination下面,即形成了destination/source的目录结构。

如果只想同步源目录source里面的内容到目标目录destination,则需要在源目录后面加上斜杠。

$ rsync -a source/ destination

上面命令执行后,source目录里面的内容,就都被复制到了destination目录里面,并不会在destination下面创建一个source子目录。

-avz参数

如:rsync -avz yuanwenjian/ beifen

-a 参数,相当于-rlptgoD(-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件);

-z 传输时压缩;

-P 传输进度;

-v 传输时的进度等信息;

--exclude 忽略文件或目录

-avzp --delete

--delete 删除操作


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部