专栏首页游戏杂谈Linux下使用rsync同步文件

Linux下使用rsync同步文件

遇到的问题是几台游戏服务器,有一台新的服务器之前已经copy(Linux的scp命令)过文件上去,但在测试的过程中发现还是图片无法正常不显示出来,然后用httpwatch去分析请求的资源,发现有一个图片请求的地址是404(文件不存在),然后ssh登录上去,找到指定目录,发现确实是没有这个文件。。。

为了不至于再copy一次,就需要使用文件同步的管理软件了,同事推荐了linux下的rsync,小试了一下,还是很不错的。

假设有服务器A 和 服务器B,现在登录了服务器B,需要将服务器A上的文件同步到服务器B中,将A中有的B中没有的,或是A中文件比B中的文件要新就全部copy过来。

shell命令如下:

rsync -zvrtopg -progress -e 'ssh -p 端口号' root@192.xx.xx.xx:/文件目录/  本机的目录地址

语法rsync -参数 ‘源文件访问路径’目标路径

第一次用的时候,我在源服务器(即上面所指的服务器A)中的文件目录没有加/导致后来直接把那个目录copy过来了,而不是它目录下的所有文件

关于rsync 这个命令的一些参数,英文好点就自己直接使用rsync  --help去查看了,这里从其它人写的博客中转载过来的。

参考了:

rsync参数详解

rsync 使用说明

使用之前需要先安装rsync,这个直接自行搜索吧..

关于参数的说明:

-v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, --recursive 对子目录以递归模式处理 -R, --relative 使用相对路径信息 rsync foo/bar/foo.c remote:/tmp/ 则在/tmp目录下创建foo.c文件,而如果使用-R参数: rsync -R foo/bar/foo.c remote:/tmp/ 则会创建文件/tmp/foo/bar/foo.c,也就是会保持完全路径信息。 -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 --backup-dir 将备份文件(如~filename)存放在在目录下。 -suffix=SUFFIX 定义备份文件前缀 -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结 -L, --copy-links 想对待常规文件一样处理软链结 --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 --safe-links 忽略指向SRC路径目录树以外的链结 -H, --hard-links 保留硬链结 -p, --perms 保持文件权限 -o, --owner 保持文件属性信息 -g, --group 保持文件属组信息 -D, --devices 保持设备文件信息 -t, --times 保持文件时间信息 -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间 -n, --dry-run现实哪些文件将被传输 -W, --whole-file 拷贝文件,不进行增量检测 -x, --one-file-system 不要跨越文件系统边界 -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节 -e, --rsh=COMMAND 指定替代rsh的shell程序 --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息 -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件 --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件 --delete 删除那些DST中SRC没有的文件 --delete-excluded 同样删除接收端那些被该选项指定排除的文件 --delete-after 传输结束以后再删除 --ignore-errors 及时出现IO错误也进行删除 --max-delete=NUM 最多删除NUM个文件 --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输 --force 强制删除目录,即使不为空 --numeric-ids 不将数字的用户和组ID匹配为用户名和组名 --timeout=TIME IP超时时间,单位为秒 -I, --ignore-times 不跳过那些有同样的时间和长度的文件 --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间 --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0 -T --temp-dir=DIR 在DIR中创建临时文件 --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份 -P 等同于 --partial --progress 显示备份过程 -z, --compress 对备份的文件在传输时进行压缩处理 --exclude=PATTERN 指定排除不需要传输的文件模式 --include=PATTERN 指定不排除而需要传输的文件模式 --exclude-from=FILE 排除FILE中指定模式的文件 --include-from=FILE 不排除FILE指定模式匹配的文件 --version 打印版本信息 --address 绑定到特定的地址 --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件 --port=PORT 指定其他的rsync服务端口 --blocking-io 对远程shell使用阻塞IO -stats 给出某些文件的传输状态 --progress 在传输时现实传输过程 --log-format=FORMAT 指定日志文件格式 --password-file=FILE 从FILE中得到密码 --bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息

一般常用的:

-v 详细模式输出

-r 对子目录以递归模式处理

-t 保持文件的时间信息

-o 保持文件的属性信息

-g 保持文件属组的信息(不清楚这样翻译是否有问题)

-p 保持文件权限不变

-e, --rsh=COMMAND 指定替代rsh的shell程序

-z, --compress 对备份的文件在传输时进行压缩处理

--progress 显示备份过程

也就是:递归、保证文件一些基本属性不变(创建/修改时间 权限等)、传输文件时压缩以减少带宽消耗,当然还有一个就看需要了:是否删除源中没有,而目标中又有的文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 多文件压缩工具-RIA版

    做游戏开发,在进入游戏前需要先加载很多资源文件,以XML格式居多。一般我们的做法是将多个XML/txt文件打包压缩,之前使用的方法是先将资源文件使用winrar...

    meteoric
  • 文件(夹)对比利器--WinMerge

    有两个工程,繁体版本、简体版本,版本号不一样,如果需要同步里面的代码就需要用到第三方工具了。IDE中自带的svn功能较弱,还好有winMerge弥补了它的缺陷,...

    meteoric
  • 禁用iOS的UIView长按默认操作

    很多时候需要禁用移动设备的默认行为,比如长按一个a链接的按钮(href写的是javascript:;)会提示是否打开/取消。而-webkit-touch-cal...

    meteoric
  • Python文件IO操作

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, clo...

    py3study
  • 每天 3 分钟,小闫带你学 Python(二十四)

    Life isn’t about finding yourself. Life is about creating yourself.

    小闫同学啊
  • 如何解决数据文件传输的风险?

    系统底层的重要、核心数据文件时常面临着更新和传输,仅仅依靠防止拷贝数据文件是无法避免事故的发生,也无法快速定位事故原因,更加无法及时恢复灾难。 那么“快速...

    安恒信息
  • 0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践

    比如去打印店要打印文件,一般来讲是我们登录社交软件,然后传输文件,最后退出登录;除了安全性极差,还特别繁琐。

    腾讯云开发TCB
  • 4.4 文件系统疑难点 3-4

    为了创建一个文件,应用程序调用逻辑文件系统。逻辑文件系统知道目录结构形式。它将分配一个新的FCB给文件,把相应目录读入内存,用新的文件名更新该目录和FCB,并将...

    week
  • 用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)

    介绍      Cache技术广泛应用于计算机行业的软硬件领域。该技术既是人们对新技术探讨的结果,也是对当前软硬件计算能力的一种妥协。在浏览器中使用cache技...

    24K纯开源
  • 勒索病毒如何自救?

    最近云主机报中了勒索病毒的情况不断出现,搜索了一些资料,相信对预防、以及处理病毒会有帮助。

    希望的田野

扫码关注云+社区

领取腾讯云代金券