我目前在一个脚本上使用rsync ,将一个PHP应用程序从一个登台部署到一台生产服务器。 这里是如何: rsync -rzai –progress –stats –ignore-times –checksum /tmp/app_export/ [email protected]:/var/www/html/app/ 这正在输出每个被比较的文件(项目中的每个文件)的列表,但是我希望它只输出修改过的文件,所以我可以用–dry-run选项来运行它,以检查每个文件部署仅更新所需的文件。 注:迄今为止我能做的最好的是grep fcst的结果,但我正在寻找一个rsync选项,我敢肯定它在那里,但我无法find它的手册页。 提前致谢!
我使用rsnapshot为我的“工作”共享创build每小时/每天/每周/每月的备份。 现在我试图使用rsync将整个备份目录复制到外部驱动器上。 我使用这个命令/参数在一个屏幕会话(是的,rsync-exclude.txt位于我运行命令的目录) rsync -avzHP –exclude-from 'rsync-exclude.txt' /share/backup/ /share/eSATADisk1/backup/; 整个东西在QNAP TS-439上运行,内部驱动器是一个单一的磁盘(没有RAID)EXT4格式化,外部驱动器形成EXT3。 会发生什么情况是:Rsync跟随每个硬链接并复制实际的文件,而不是重新创build外部驱动器上更新的硬链接 。 我没有马上意识到这一点,所以外部驱动器最终被同一个文件的xxx副本丢弃了。 我想实现的是:将由rsnapshot生成的整个文件结构复制到外部驱动器,保持硬链接节省空间。 注意:这不一定是使用rsync完成的。 感谢您的想法和时间。 我很感激你的帮助,大的时间。 更新:我知道,rsnapshot没有使用符号链接,它使用硬链接,所以我现在使用-H选项,它应该根据Rsnapshot保存硬链接结构到多个目的地(或维护硬链接结构),但它仍然不会工作…我在这里错过了什么? 更新2:在这里我发现了另一个关于这个话题的观点/陈述: rsync和–hard-links冻结了 Steven星期一build议不要尝试rsync包含硬链接的大文件结构,因为它吸收了很多内存,对于rsync来说是一件很难的事情。 所以可能更好的解决scheme是制作一个.img数据结构,我试图备份。 你怎么看?
为了避免rsync挨饿系统和networking,我们在启动rsync时使用ionice并设置–bwlimit参数。 例如: ionice -c2 -n7 rsync -aH –bwlimit=30000 /foo [email protected]:/ 这确实有助于确保源服务器保持响应。 但是,目标服务器由于100%的磁盘IO而变得非常慢(如atop工具所见)。 是否有可能以某种方式在目标服务器上使用ionice ? 也许通过rsync -e选项? 如果可能,我宁愿不运行rsync守护进程。
在使用rsync在Bash下执行备份时,我试图排除顶部目录中的所有点文件和隐藏目录,但不包括其他目标目录中的所有点文件和隐藏目录。 例如: /copyme.c /.dontcopythisfile /.dontcopythisdirectory/or_its_contents /directory/.butcopymetoo rsync -a –include=".includeme" –exclude=".*" . DEST rsync -a –include=".includeme" –exclude=".*" . DEST无法在子目录中复制所需的点文件,但诸如–exclude="./.*"变体也会失败。 build议? 这是否需要一个过滤规则,而不是简单 – 排除?
我想使用rsync将数据从远程Linux服务器备份到本地Mac。 我想在本地Mac上初始化这个操作。 除了有一个特殊的字符问题,所有的工作正常:每次我重新运行rsync操作(初始同步后),具有特殊字符的文件首先被删除,然后重新同步。 据我所知,不同的字符集有一个问题, 首选的解决scheme似乎是使用–iconv选项: 您可以使用rsync的–iconv选项在UTF-8 NFC和NFD之间进行转换,至less在Mac上是如此。 有一个特殊的UTF-8-mac字符集,代表UTF-8 NFD。 因此,要将文件从Mac复制到NAS,您需要运行以下操作: rsync -a –iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/ 这将在远程服务器上将所有本地文件名从UTF-8 NFD转换为UTF-8 NFC。 文件的内容不会受到影响。 问题是,这只对我来说“单向”,即从Mac同步到Linux。 但我想“走另一条路”,即从Linux机器同步到Mac。 我想从我的本地Mac初始化操作。 但是当我尝试: rsync -av –delete –iconv=utf-8,utf-8-mac mynas:remotedir/ localdir/ 我收到一个错误: iconv_open("UTF-8", "utf-8-mac") failed rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9] rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync […]
我在我家运行一台小型的CentOS服务器,用于其他备份等。我镇上另一边的朋友也在他的家里为了类似的目的而运行一个小型的服务器。 我们一直玩弄使用eachothers服务器做远程/异地备份的想法。 基本上,我们每个人都会购买一个外部硬盘来存储在他们家里,连接到其他服务器上。 然后,我们将设置计划的rsync将相应的数据从一台服务器推送到另一台服务器上的外部硬盘。 大部分都很简单。 但是,有一点很重要(至less对我来说)是数据encryption。 我想将我的数据存储在我的朋友服务器上的外部硬盘上。 但我不希望我的朋友(或任何访问我朋友的服务器的人)能够读取外部硬盘上的内容。 什么是最好的办法呢? 你可以使用rsync发送数据到一个encryption的硬盘驱动器,并以某种方式传递一个密码,以及它用来写入数据,一旦它到达服务器?
我使用rsync将远程服务器备份到另一台计算机。 在cron.daily我有这样的文件: rsync -avz -e ssh [email protected]:/ /mybackup/ 它使用公钥/私钥对进行login。 这似乎大多数时候都工作得很好,但是我(愚蠢地)只是通过查看我知道每天都会改变的一些重要文件(MySQL转储)上的date来真正检查它。 显然,该文件后可能会发生错误。 有时候会失败 当我手动运行时,有时会发生类似“客户端重置”的情况。 什么是最好的方式来logging它,以便我可以肯定地检查它是否完成? cron日志不会指出任何错误。 我还没有尝试过,但备份机器上旧版CentOS的rsync手册页并没有显示–log-file选项。 我想我可以redirect标准输出>但我真的不想知道每个文件。 我只是想知道这一切是否奏效 谢谢
我正在使用rsync获取此消息: symlink has no referent: "/a/path" 那么,rsync是正确的:在源文件系统中,(符号)链接指向一个不存在的位置。 这是打算。 链接的目标只存在于目标文件系统中。 我希望rsync忽略这个事实,并在目的地创build符号链接。 我如何强制rsync来做到这一点?
我需要将一个大文件(损坏的MySQL表〜40GB)移动到一个单独的服务器上以修复它。 (当试图在我的生产服务器上修复时,它很快就杀死了服务器)。 为了做到这一点,我想将我的生产服务器中的.frm,.MYI和.MYD文件同步到云服务器。 我将/ var / lib / mysql / {database} /中的文件复制到/ home / {myuser},这样我就不需要为rsync命令启用root访问权限,并且100%确定数据库文件不是在使用(它不应该被写入或读取,但显然我不想closures我的生产数据库来确保)。 我试图复制的第一个文件大约是10GB。 我正在从我的生产服务器的一部分转移到另一部分,即到相同的磁盘arrays。 不幸的是,复制命令“cp filename newfilename”花费了太多的资源,导致服务器停滞不前。 如何将文件复制到不同的目录时使用更less的资源? (这需要多长时间并不重要)。 假设我设法做到这一点,那么在将文件rsyncing到云时,我可以期待什么样的资源使用情况? 任何人都可以build议一个更好的方式来做到这一点 我正在快速耗尽磁盘空间,因此需要尽快修复和归档此表。
我一直负责通过广域网进行异地备份工作。 两个存储盒都是运行ZFS的基于FreeBSD的NAS盒子。 每周一次或两次,15-60摄影的数据被转储到办公室NAS。 我的工作是弄清楚如何使用非常慢的DSL连接(〜700Kb / s上传)尽可能可靠地获取这些数据。 接收盒的形状更好,在30Mb / s下,5Mb / s以上。 我知道,携带硬盘驱动器可以更快地移动数据,但在这种情况下,这不是一个选项。 我的select似乎是: ZFS增量通过ssh发送 Rsync的 rsync是一个时间已久的解决scheme,并具有重要的能力,如果事情被打断,恢复发送。 它具有迭代许多文件而不知道重复数据删除的缺点。 ZFS快照发送可能会传输less量的数据(它比文件系统知道更多,可以执行重复数据删除,可以比rsync更有效地打包元数据更改),并且具有正确复制文件系统状态的优点,而不是简单地复制单独的文件(这是更多的磁盘密集型)。 我担心ZFS的复制性能[1](尽pipe那篇文章已经一岁了)。 我还担心,如果出现问题,能够重新启动传输 – 快照function似乎不包括这一点。 整个系统需要完全放手。 [1] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replication.html 使用任一选项,我应该能够通过路由指定端口,然后使用路由器上的QOS来优先化stream量。 我需要避免在每个传输过程中对这两个站点的用户产生重大负面影响,因为这需要几天的时间。 所以…这是我在这个问题上的思考。 我错过了任何好的select? 有没有其他人设置类似的东西?