linux同步文件
① linux下使用rsync同步文件时、如何判断单个或某个文件同步是否成功
这个问题应该是可以解决的,只需要在你的命令行后面再加上一条命令就可以了。
#
rsync
....
||
echo
!$
命令的意思呢,就是说在执行前面的一个命令的时候,如果失败了,那就会执行后面的echo
!$命令,而!$变量的意思就是上一个命令执行后所跟的参数。也就是说,如果rsync命令在同步某一个文件的时候出现错误,那这个文件名就会被!$所记录下来,因此我认为通过这个命令就可以知道在执行rsync命令时,是那个文件出现问题了。命令经过本人的试验是成功的,不过因为我的rsync没有失败,所以我是把||
修改成&&来测试的,原理上是一样的。
不知道这样的答案是LZ想要的吗?
② linux之间传文件用什么工具好呢
1. 前言
linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。
在本教程中,我们将通过实际使用案例和最常见的rsync选项的详细说明向您展示如何使用rsync。
本教程适用于Ubuntu系统、Linux Mint系统、Deepin深度Linux系统、Fedora系统、Debian系统、Elementary OS系统、OpenSUSE系统、CentOS系统、RHEL系统,Arch Linux等等GNU Linux发行版。
2. `rsync`介绍
Rsync是一个快速且通用的命令行实用程序,它可以使Windows与Linux之间,Linux与Linux之间传文件或者Linux与MAC OS之间传文件。或从Linux本地文件系统到远程Rsync守护进程之间同步文件和文件夹。它只传输源和目标之间的差异,从而提供快速增量文件传输。
Rsync可以用于镜像数据、增量备份、在Linux系统之间传文件,也可以用于Linux与Windows之间传输文件,还可以替代日常使用的scp、sftp和cp命令,他们一般也用于Linux之间传文件或者Linux与MAC OS之间传文件。
3. 如何安装`Rsync`
rsync实用程序预装在大多数Linux发行版和macOS上。你可以输入以下命令,检查你的系统是否已安装:
查看Rsync版本的输出结果:
如果您的系统上没有安装rsync,您可以使用发行版的包管理器轻松地安装它。
在Ubuntu 或者Debian体系的Linux系统上安装rsync
在CentOS 或者Fedora系统上安装rsync
4. Rsync命令使用语法
在讨论如何使用rsync命令之前,让我们先回顾一下基本语法。
rsync实用程序表达式采用以下形式:
rsync提供了许多选项来控制其行为和功能。最广泛使用的选项是:
-a, --archive, 归档模式, 相当于 -rlptgoD。这个选项告诉rsync递归地同步目录、传输特殊设备和块设备、保存符号链接、修改时间、组、所有权和权限。
-z, --compress. 这个选项将强制rsync在传送文件到目标计算机时压缩数据。仅当到远程计算机的连接很慢时才使用此选项。
-P, 相当于--partial --progress。使用此选项时,rsync将在传输期间显示一个进度条,并保留部分传输的文件。当通过缓慢或不稳定的网络连接传输大文件时,它非常有用。
--delete. 使用此选项时,rsync将从目标位置删除无关文件。它对镜像很有用。
-q, --quiet。如果希望禁用非错误消息,请使用此选项。
-e. 此选项允许您选择不同的远程shell。默认情况下,rsync被配置为使用ssh。
5. 使用Rsync最基本的功能使Linux之间传输文件
要将一个文件从一个本地位置复制到另一个本地位置,可以运行以下命令:
运行该命令的用户必须具有目标位置上的读权限和目标上的写权限。
从目标位置省略文件名将复制具有当前名称的文件。如果您想将文件保存在另一个名称下,请在目标部件上指定新名称:
比如复制filename.zip到目标目录并重新把文件名修改为newfilename.zip
在下面的例子中,我们正在创建一个本地备份我们的网站文件:
如果目标目录不存在,rsync将创建它。
值得一提的是,rsync对后面带有斜杠/的源目录提供了不同的处理。如果在源目录上添加一个尾随斜杠,它将只将目录的内容复制到目标目录。当后面的斜杠被省略时,rsync将把源目录复制到目标目录中。
6. 如何使用Rsync与远程服务器同步文件(包括上传下载)
当使用rsync进行远程传输时,必须同时安装在源机器和目标机器上。rsync的新版本被配置为使用SSH作为默认远程shell。
在下面的例子中,我们将一个目录从本地转移到远程机器:
如果你需要配置2台Linux之间免密码登录,请查看以下教程:
如果你想把数据从远程传输到本地机器,你需要使用远程位置作为一个源:
如果远程主机上的SSH监听的端口不是默认的22端口,那么可以使用-e选项指定端口:
比如远程服务器的SSH端口被修改为1234
当传输大量数据时,建议在屏幕会话中运行rsync命令或使用-P选项:
7. 使用Rsync传送或同步文件时,排除某些文件或者目录
当使用Rsync排除文件或目录时,需要使用它们到源位置的相对路径。
有两个选项可以排除文件和目录。第一个选项是使用--exclude参数,并在命令行中指定要排除的文件和目录。
在下面的例子中,我们排除了位于src_directory中的123和abc目录:
第二个选项是使用--exclude-from参数,并指定要在文件中排除的文件和目录。
vi exclude-file.txt
加入需要排除的文件,比如文件file1.c,目录zcwyou:
8. 总结
在本教程中,您学习了如何使用Rsync在多台Linux之间传输、复制或同步文件和目录。在Rsync用户手册页面上有更多关于Rsync的内容。
如果你有任何问题,请留下你的意见。
③ 怎么同步linux文件
下载安装完成WinSCP软件后,进入到需要同步文件的目录,如下图
进入到需要同步文件的目录后,点击界面上方的同步按钮,如下图
点击后会弹出一个窗口,窗口名为同步
第一个设置项就是本地目录也就是本地文件存放的位置,本地目录的下方是远程目录,是服务器文件存放的位置;在方向目录中如果是服务器同步文件到本地,就选择本地,如果是本地文件同步到服务器就选择远程,这里不要选择错了,不然后期非常麻烦
接着就是模式设置,模式设置直接选择默认的“同步文件”选项即可;在同步选项设置里设置设置按照修改时间和选上预览修改即可
如果选择了预览修改,然后会比较文件,当然这样可能要花一些比较的时间,但是如果设置出错了预览能够及时的发现,不至于产生破坏性的影响。
河南新华网络运营协会
④ 如何使2台Linux服务器通过FTP自动同步文件(用Shell脚本)
楼上正解。
⑤ 4-10.8 Linux 中的文件同步传输 --- rsync --delete 接收端镜像形式备份源数据
2、执行 rsync -a --delete 把 SRC 目录下的内容传输到 backups_delete 目录,backups_delete 以镜像形式保存 SRC 目录的内容。backups_delete 目录的内容和 SRC 目录的内容保持一致。
3、第 2 点通过 -a --delete 完成了 SRC 目录文件的备份,可能没有突显镜像备份的形式。现在 backups_delete 增加一些内容,然后用 -a --delete 再传输一次数据作一个对比就会清晰了。
backups_delete 目录下新增两个目录 directory1 和 directory2,directory1目录新增一个 file3.txt 文件,directory2目录新增一个 file4.txt 文件。操作 和 目录结构如下:
-a --delete 再传输一次数据,可以发现刚才新建的目录和文件都被删除了,backups_delete 目录只保存和 SRC 源目录一致的内容。形成一个 SRC 目录内容的镜像。
4、同理,把 backups_delete 的 file1.txt 文件删除,再用 -a --delete 再传输一次数据。
由上述实验可以看出 --delete 作用于接收端,把目标目标以镜像模式备份源目录的数据。目标目录比源目标多出的内容将会被删除。对比源目录,比源目录少的内容会补上。
⑥ Linux xsync脚本——同步文件
在/usr/local/bin 目录下创建 xsync 文件,向里面添加:
最后chmod 777 xsync给文件添加执行权限即可。
使用xsync filename就能将filename分发到集群中的各个节点中。
⑦ 如何实现Linux多台服务器间的文件双向同步
Linux自带了ntp服务 -- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntp.conf。
为了测试,设置让node2 -- 192.168.1.102和node1 -- 192.168.1.101做时间同步。第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。所以,先把node1机器的时间调准了:
[root@node1 ~]date -s 08/03/2011
[root@node1 ~]date -s 11:12:00
[root@node1 ~]clock -w[root@node1 ~]hwclock --systohc
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。
第二步,然后将node1配置成一个time server,修改/etc/ntp.conf,[root@node1 ~]vi /etc/ntp.conf其他的配置不怎么需要改,只需要关注restrict的配置:
1. 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。
⑧ 4-10.10 Linux 中的文件同步传输 --- rsync --include 传输指定的数据
2、--include 一般结合 --exclude 一起用。--include 的作用是指定需要传输的内容。但是单纯的用 --include 并不能如我所愿的结果。因为单纯的 --include 没有起到只传输我想要的文件,而是把源目录的所有数据传输到目标目录。
--include 和 --exclude 搭档,--exclude 是起到排除的功能, 也就是当 --include 指定了我们所需要传输的数据时,通过 --exclude 排除其他内容的传输。这样就可以完成指定什么数据需要传输,其他不在范围内的数据都不传输。
下面是单纯的用 --include 指定传输 SRC 目录下所有结尾为 .txt 的文件效果。 单纯的用 --include 没有起到只传输我想要的文件,而是把源目录的所有数据传输到目标目录。
3、传输 office_directory 目录及文件。
4、传输 SRC 目录下的所有 txt 到 backups_include 目录(含子目录及内容)。
分析思路:
5、如果只想传输 .txt 结尾的文件到 backups_include 目录,不想传输子目录文件夹。可用发送方,也就是源目录的路径进行控制。
分析思路:
6、传输多个二级目录及文件。
7、传输三级目录及文件原理也是一样。通过 --include 把目录和目录下 *.txt 文件类型标识清楚。以传输 SRC 目录下的三级目录及所有 .txt 文件为例:
8、传输 SRC 目录下的所有 .txt 文件(不含目录)到 backups_include 目录。
9、优化 例 8 语句
10、指定传输某些文件。
11、指定传输某字母或单词开头的目录或文件。
12、指定传输含有某字母或单词的文件。
13、指定传输某字母或单词结尾的文件。
14、指定多个传输条件可以用 { } 大扩号把条件括起来,条件与条件之间用 ,逗号分隔开。只用一个 --include参数。可进步一步优化语句,避免臃肿。
⑨ 4-10.15 Linux 中的文件同步传输 --- rsync -P 传输时显示进度
2、用 rsync -av -P 传输 SRC 目录下 office_directory 目录的文件到 backups_Packages。
传输列表内容图解:
3、用 --progress 参数同样也是显示传输进度,效果和 -P 一样。