Articles of rsync

负载平衡+文件夹同步

我有2台服务器。 服务器A :包含 MySQL的 阿帕奇 nginx的 服务器B :包含 阿帕奇 memcached的 rsync的cron(每3分钟),拉动/ var / www /内容,并更新自己的 我在用着: 服务器A的nginx负载均衡http请求。 (它工作得很好)。 memcached从服务器B维护php会话 Nginx目前的负载均衡要求服务器B处理75%的请求。 为了同步应用程序代码(用php编写),我使用rsync(如上所述)。 rsync的问题是我无法处理2路同步,所以我开始看着Unison 。 在这一点上,我有2个问题: 请求nginx将所有的“发送文件”请求路由到服务器A,以便服务器B只需要拉? 我应该使用Unison或其他软件进行这种同步吗? 我可以实时同步吗? 我应该使用一些共享/ var / www /从服务器A到服务器B的内容的networking文件系统吗? 如是。 你有什么build议?

如何确保rsync设置适当的文件权限?

我正在将数据从Synology框传输到带有rsync的debian框中。 不幸的是所有被转发的文件的权限在Debian框中被设置为rwxrwxrwx 。 我想确保只有拥有的用户才能看到这些文件。 有没有办法告诉debian框将权限设置为像rwx—— ? rsync作业是通过DSM GUI设置的。 如果可能的话,我宁愿避免黑客入侵,并在命令行上做一些事情。 这意味着我正在寻找一种方法来设置服务器端(debian框)的权限。 我正在使用最新的DSM版本(4.1)。

在两台机器之间移动文件和目录,通过第三方保存权限和用户名

情况如下: 机器A有一个可通过rsync访问的文件存储库 机器B需要上述所有权限和所有权完整的文件(包括组等) 机器C可以同时访问A和B,但拥有完全不同的用户。 通常情况下,我会直接在A和B之间rsync的一切,但由于目前严重有限的带宽,我需要不同的东西,因为rsync超时后build立430文件列表(49Mb未压缩…可以压缩到〜7Mb)。 到目前为止,我已经尝试了一下: rsync从A到C的所有内容,tar,复制压缩包,然后解压缩,但是,这会混淆所有权和/或权限。 要从A同步到C,我运行这个命令: rsync –numeric-ids –password-file=/root/rsync_pwd_file -oaPvu rsync://[email protected]/portal_2/ ./portal_2/ …从外观上来看,他们最终以正确的所有权/许可权/标志/所有权(不是100%确定,但是还有更多的开关可以扔进去吗? ?) 复制压缩包足够简单(由于带宽的缘故,单腿龟很慢,但是校验和没有问题) 我不确定的是用于创build和解压缩tarball的标志和开关,所以有人可以提供完整的命令来从机器C上的/ root / portal_2创build一个tarball,并将tar包解压到/ var机器B上的/ ex / portal_2? ? 另外,还有什么其他的方法值得一提,可以让我执行这个? 我有根访问A和C,而我只有rsync访问B. PS:我在机器B上运行rsync v2.6.9,不幸的是我没有机会升级到v3

如何使用第三台机器在两台遥控器之间传输大型文件?

我需要通过慢速链接(1 Mbps)自动镜像两个unix机器中的大量(TB)文件。 这需要频繁地完成,但数据不会变化太大(delta传输不会使链路饱和)。 通常的解决scheme是rsync ,但还有一个额外的要求:从安全angular度来看,不希望源或目标机器具有(无密钥)ssh密钥或任何types的文件系统访问权限。 这两台机器之间的所有通信都应该通过第三台机器进行初始化(和调解)。 我已经在这里特别提出了一个关于rsync的单独问题。 我还有其他明显的解决scheme吗?

本地rsync的后续运行不会减less传输的数据

我有一个EC2实例,我想要将数据同步到已安装的远程卷上作为备份。 rsync似乎是这样的方式,所以作为一个testing,我把我的testing文件(Postgres pg_dump文件),并使用rsync -v将其复制到装入的卷: [ec2-user work]$ rsync -v dump.sql.1 ../backup/dump.sql dump.sql.1 sent 821704315 bytes received 31 bytes 3416650.09 bytes/sec total size is 821603948 speedup is 1.00 然后,我再次运行它,期望看到最小的发送/接收的数字,因为它只是校验和。 代替… [ec2-user work]$ rsync -v dump.sql.1 ../backup/dump.sql dump.sql.1 sent 821704315 bytes received 31 bytes 3402502.47 bytes/sec total size is 821603948 speedup is 1.00 我是rsync新手,所以也许我错过了一些东西,但不是源和目标文件检查差异,然后补丁生成并应用到目的地的想法? 为什么这不会将“发送”的数据量减less到校验和的大小呢? 一些相关的背景: 挂载的卷使用s3fs <bucketname> […]

防止Rsync保存到本地驱动器

我在每天晚上运行的Ubuntu 10.04服务器上有一个shell脚本,并使用rsync将文件备份到挂载到/ media / backups文件夹的外部共享中。 问题是,有时驱动器未挂载,或者目标服务器处于脱机状态。 发生这种情况时,我的服务器将高兴地保存到本地文件系统上名为/ media / backups的文件夹中,快速填充所有可用磁盘空间。 如何防止rsync写入文件夹,除非该文件夹是挂载点? 我似乎无法自己find答案。

使用带有祖父父子脚本的NFS装载脚本,但只能获得每日6次的备份。 我还应该有4个每周和2个月的备份

我正在使用rsync克隆从远程服务器(MT DV4.0)到本地(Ubuntu 11.10)的变化。 然后我使用下面的复制/粘贴脚本来压缩然后存档文件。 #!/bin/bash #################################### # # Backup to NFS mount script with # grandfather-father-son rotation. # #################################### # What to backup. backup_files="/home/server-backups/var/www/vhosts /home/server-backups/var/www/vhosts" # Where to backup to. dest="/home/bryan/server-tar" # Setup variables for the archive filename. day=$(date +%A) hostname=$(hostname -s) # Find which week of the month 1-4 it is. day_num=$(date +%d) if […]

文件系统崩溃后运行rsync足够吗?

在我的Debian Squeeze服务器上,一个文件系统崩溃了。 我跑了fsck.ext4,它纠正了很多事情。 现在一切似乎都很好。 另外,从最近的备份运行一个rsync到失败的文件系统。 我的问题:现在,rsync已经运行,我可以安全地假设我的服务器上的文件内容是相同的备份? 或者,build议重新创build文件系统并重新复制备份中的所有数据? 我宁愿不这样做,由于高stream量(这是一个大的文件系统…) 任何帮助非常感谢=) 编辑 :我不完全确定如何ext4被损坏。 它位于Debian框的LVM之上,我用它作为半虚拟化xen domU的一个/文件系统。 不知何故,在某种程度上,我想重新启动domU,并没有安装文件系统。 之后,我无法在(离线)文件系统上运行fsck,我得到了一个“正在使用的文件系统”类错误。 但是,我没有在mount命令的输出中看到它,并且lsof没有返回与设备相关的任何东西。 确实很奇怪

使用非root rsync复制文件

我有一个主服务器和辅助服务器,我希望使用rsync将文件从主服务器复制到辅助服务器。 我已经使用NFS将主磁盘挂载到辅助服务器上,并将与主服务器上的多个用户有关的数据复制到辅助服务器上。 有什么办法可以做到这一点没有root权限?

xargs删除包含$的文件名

我正在使用xargs从远程服务器中删除文件。 xargs -a /var/log/del.log -i -exec ssh [email protected] 'rm -rf "{}"' del.log包含在本地服务器上删除的文件的path,我想在远程服务器上删除它们。 每一件事情都可以正常工作,但是当它们是一个像~$excel.xlsx文件命名办公室文件时,问题~$excel.xlsx当这样的文件命名出现时,xargs会使命令变得像这样。 ssh [email protected] 'rm -rf "~.xlxs"' – which is wrong, 它应该像 – ssh [email protected] 'rm -rf "~$excel.xlxs"' 为什么xargs是这样做的? 可能是xargs除了它是可变的。 我需要一些解决scheme。 还是有更好的方法来从远程服务器上删除文件? 只要本地服务器具有需要在远程删除的path列表。