Articles of rsync

bash脚本在cron中返回“内存不足”,但不在shell中

我正在运行夜间bash脚本来同步远程文件夹(源)与本地文件夹(目标)。 我已经testing了基于rsync的这个脚本,并且它在一个root shell中工作正常。 需要一段时间,因为有一百个演出复制,但它的作品。 一旦我在crontab中使用它,我的服务器耗尽内存。 我的服务器有8GB的内存,4GB的交换空间,正如我所说的,当从一个shell手动运行脚本时,脚本永远不会运行OOM。 这是默认的Centos 5.5安装。 我可以拆分负载并同步所有第二级目录中的查找/脚本,但我想保持简单,只能同步顶级目录。 我不能做太多的testing,因为这个服务器是用来托pipe网站和其他服务,我不能把它挂在testing的目的。 你知道一个可以让cron正常完成这个工作的设置吗? #!/bin/bash BACKUP_PATH="/root/scripts/backup" rsync -av –delete /net/hostname/source/ /export/target/ > $BACKUP_PATH/backup_results_ok 2> $BACKUP_PATH/backup_results_error 编辑:cron的configuration是默认的,如/etc/security/limits.conf,全部注释掉了。

如何最好地复制Subversion版本库的*内容* svnsync或rsync?

我正在一个在中心位置使用Subversion服务器的环境中工作,该环境需要将其内容提供给4个不同的环境(prod,test等)。在这些环境中,我们不需要subversionfunction,只是为了能够通过http和本地文件系统访问repo内所有/ tags /的内容。 要做到这一点,我们有两种可能的方法: 1)颠覆所有环境中的镜像,使用svnsync进行更新,然后通过svn – > web_dav_svn – > davfs(FS访问此处) – > apache(这里的HTTP访问) 2)svn导出/标签在一个中央位置,然后将文件rsyncing到其他位置,可能在硬链接之前导出的文件结构。 虽然选项1在许多方面看起来是“光滑的”(虽然两次经过apache),但它将大量的风险降低到一个实时的运行环境,而不是将其保持在中央位置,这基本上是“离线”因为它从来没有被用于这些环境的运行。 我也很关心把一个非常一次性的和被忽视的导火索项目如davfs这么深入到项目中。 Rsync是无聊而稳定的,我们只需要根据自己的条件就可以访问文件,我们可以通过一个真正的基础和可靠的工具集来获得。 任何想法真的很感激。

如何强制rsync执行校验和?

我们通过每天晚上在服务器上创build一个增量备份文件(以及周四晚上的完整备份)来执行Windows文件服务器的夜间备份,然后将其复制到运行Linux / Ubuntu的备份服务器。 为了保持场外冗余,我们然后将备份目录rsync同步到每晚运行一次的外部驱动器。 随着时间的推移,增量备份文件的数量稳步增长(尽pipe这些文件的大小有所不同)。 我们也注意到,尽pipersync过程只是将最新的两个文件复制到外部驱动器上,但它仍然需要更长的时间。 这是命令: rsync -vr –delete-before –log-file=/rsync_log.csv /backup/archive/ /mnt/usbdisk/ 2>&1 当我们testing命令,并调查了日志文件,我们看到这样的: … 2011/02/14 23:59:35 [14054] >f..T…… IncrementalBackup_2011_02_06_20.bkf 2011/02/15 00:00:45 [14054] >f..T…… IncrementalBackup_2011_02_08_20.bkf 2011/02/15 00:03:22 [14054] >f..T…… IncrementalBackup_2011_02_09_20.bkf 2011/02/15 00:04:36 [14054] >f..T…… IncrementalBackup_2011_02_11_20.bkf 2011/02/15 00:04:51 [14054] >f..T…… IncrementalBackup_2011_02_12_20.bkf 2011/02/15 00:05:06 [14054] >f..T…… IncrementalBackup_2011_02_13_20.bkf 2011/02/15 00:06:13 [14054] >f+++++++++ IncrementalBackup_2011_02_14_20.bkf 2011/02/15 00:54:32 [14054] >f..T…… […]

每日rsync备份与硬链接,校验和和一台新的计算机

我每天使用带硬链接的rsync将笔记本电脑备份到Fedora桌面。 这已经工作了近一年了。 我最近购买了一台新电脑,通过我的数据传输,并希望每天继续备份这台计算机。 但是,由于从旧笔记本电脑到新笔记本电脑的数据传输,时间戳已经发生了明显的变化,从而导致我的日常rsync备份重新传输所有的数据。 我认为通过添加-c(校验和)开关到我的rsync备份,它将匹配基于校验和的文件,而不是时间戳和大小,并且只传输那些不同或不存在的文件。 这似乎工作,但在检查新的备份时,硬链接没有被创build,看起来应该是硬链接的文件只是从备份服务器上的前一个备份目录复制到新的备份目录。 这对我来说是非常奇特的行为,我很难搞清楚为什么会发生这种情况。 校验和匹配我认为应该很难链接的文件。 我已经浏览了rsync手册页和谷歌了一下,一直没有find任何东西,以更好地理解这种行为。

运行linux和windows的机器的备份

我有一个关于备份的问题。 我有一个networking(构build使用无线150Mbps和千兆以太网)至less有3台计算机(加上可能远程2)。 我有一个计划,build立一个Linux服务器{非常强大}这将做(非常): 媒体中心(录制/播放) FTP服务器在我的networking上提供文件 其他服务器开发应用程序(MySQL,Apache,…) BACKUPS 关于BACKUPS方面,要备份的机器正在运行: 3 x Linux> = 2.6.30(Gentoo和Archlinux) 1个Windows XP 32位 3个Windows 7 64位 1个Windows 7 32位 备份可能会使用smb文件共享{我现在还不是很幸运} / rsync / svn / tar /或者其他任何你可能会build议的组合。 function性(按优先顺序排列): 修订版本(SVN风格):每次修改文件时都必须进行备份(在服务器上可以存在同一文件的多个版本,实际上它们必须) 可伸缩性:如果我将USB驱动器连接到计算机,我希望它的数据也被备份(好吧…在Linux上可能很容易,只需备份所有/媒体/除了CD和DVD,但对于Windows? ) 接近实时(最多5分钟)的文件备份:我失去了乳胶报告,很难从头开始重build 无复制:例如,如果我从2台不同的计算机备份USB的磁盘内容,我不希望数据备份两次(最糟糕的情况下是符号链接而不是硬拷贝) 手动还原/自动还原:对我来说也是一样的(简直不像下面描述的那样) 我不想在1000个文件夹中find每次只有10个文件的相同的目录结构(我更喜欢在ONE目录中查找文件系统结构中的所有最新文件,例如/ media / BACKUPS / PC01 / home // …) 也许能够从备份中删除/排除大文件 好日志 服务器规格: 2 x 2TB的硬盘空间用于备份(实际上1用于备份,另一个将rsynced从第一个{我不喜欢RAID 1},以防万一…) 4至8GB内存DDR3 […]

rsync错误:一些文件/ attrs没有被转移

在从W2K3迁移到Ubuntu服务器之前,使用rsync(ubuntu)和W2K3上的DeltaCopy服务器来备份文件服务器上的部分数据。 完成后,我跑了一个干运行,以防万一错过或改变了…我得到以下几点: sudo rsync -az -n 198.3.9.25::Music /mnt/raid/music [sudo] password for daniel: file has vanished: "?????\#267????" (in Music) file has vanished: "????????" (in Music) … rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1526) [generator=3.0.7] 我只是想确保我正确的阅读,不知道有什么文件在接收端不在发送?

我如何才能rsync从不同的子文件中包含文件名中的特定string的文件?

我有一个子树的树,其中一些包含一个名为“模板”一词的文件。 我想rsync他们到不同的位置相同的subdir树。 例如:来源: curfolder/dir1/dir2/blah_template.ext curfolder/dir3/dir4/foo_template.blah 预期目的地: destfolder/dir1/dir2/blah_template.ext destfolder/dir3/dir4/foo_template.blah 这个命令不起作用; 它将所有文件放在基本目标文件夹中,而不是放在正确的子目录中: rsync -av curfolder/*/*/*template* destfolder 所以我想我需要一个像这样的filter,但这不起作用(它似乎只是同步一切): rsync -av -f"+ *template*" curfolder destfolder

如何让rsync通过xinetd在两个不同的端口上侦听?

我有多个服务器通过不同的端口上的rsync接收文件。 我想将它们合并到同一台物理服务器上,并让客户端继续将他们的文件导入到他们现在使用的同一个端口(即不同的备用端口)。 通常我会为每个人运行/usr/bin/rsync –daemon –port=x ,但是我试图通过centos 6中的xinetd来工作,因为这是'默认'的rsync服务器。 在/etc/services添加端口没有这样做(它应该在inetd下,但可能不是xinetd?)。 如果我手动运行守护进程并让xinetd运行一个它会运行(所以我不会阻止它完成),但是我仍然希望它们都能被xinetd运行。 我的问题是甚至可以做到? 作为一个方面,在rsync中: –port=PORT This specifies an alternate TCP port number for the daemon to listen on rather than the default of 873. See also the lqportrq global option in the rsyncd.conf manpage. lqportrq不会显示在任何人的rsync.d或谷歌search。 是什么赋予了?

Rsyncing VPS的“/”目录到外部驱动器:良好的备份解决scheme?

我有一个VPS与Debian 6(挤压),并希望备份在家里的外部驱动器,以便在发生故障的情况下,我可以恢复所有的软件,设置和数据库的完整操作系统。 我想到的解决scheme是rsync服务器的/目录到外部驱动器,如rsync –one-file-system –archive "[email protected]:/" "/media/backup" 。 –one-file-system选项将排除/proc , /sys , /dev和/run等虚拟目录。 大多数VPS提供者没有select从虚拟CD引导服务器,或者在文件系统没有运行的时候修改文件系统,因此备份恢复到一个新的VPS将不得不涉及Debian修改自己的全新安装。 我认为这可以通过rsync外部驱动器到服务器的/目录,使用rsync –one-file-system –archive –delete "/media/backup" "[email protected]:/"命令rsync –one-file-system –archive –delete "/media/backup" "[email protected]:/" 。 –delete用于删除服务器上不在备份中–one-file-system不删除虚拟目录(在备份时被排除)。 虚拟化平台是OpenVZ,所以内核是共享的, /boot是空的。 描述的解决scheme是否可靠? 我应该排除更多的目录吗? 如果解决scheme不可靠,您还有什么build议?

通过SSH的可恢复的焦油

我想用tar cf – | ssh user@hostname tar xf – tar cf – | ssh user@hostname tar xf -复制一大组文件。 唯一的问题是,它会超过一个非常flaky的VPN链接。 是否有可能以这种方式build立一个可恢复的传输? 我会使用rsync ,但我不知道该怎么做,因为SSH密钥的组织方式意味着复制目标必须启动命令。