Articles of rsync

rsync某些文件,除了其余的,忽略.svn /目录,recursion

我正在使用rsync从共享复制一些文件到另一个。 recursion地,我需要: 删除从原点删除的目标文件 只能同步php和js文件 排除其他所有文件types 不要删除目标上的.svn/目录 如果我使用这个: rsync -zavC –delete –include='*.php' –include='*.js' –exclude="*" \ /origiin /destination 然后rsync不recursion,因为exclude="*"排除所有文件,但也包括文件夹 如果我添加–include="*/"那么.svn/目录被删除(它也包含在内) 我怎样才能解决这个思维爆炸的困境? uname -a: Linux tux 3.9.2-1-ARCH#1 SMP PREEMPT Sat 5月11日20:31:08 CEST 2013 x86_64 GNU / Linux rsync版本: rsync 3.0.9-6 提前致谢

rsync无法解释的错误,并收到SIGINT,SIGTERM或SIGHUP

我创build了一个批处理脚本来备份我们的服务器: #!/bin/bash user=$1 # create user dir ssh [email protected] -p 5774 mkdir -p /var/backup/server.tst/incremental/$user # backup mail dir rsync -rvz –del –rsh='ssh -p5774' /home/$user/imap [email protected]:/var/backup/server.tst/incremental/$user cd /home/$user/domains ls -1 | while read -r domain do sh /etc/pxl/backup/domain.sh $user $domain done 但是当我运行它sh script.sh username挂起。 首先我sending incremental file list ,之后是不再响应。 当我按ctrl-C(中止脚本)输出更改: sync error: unexplained error (code 130) […]

在Linux上安装Windows共享,同时保持Windows的权限

我有一个windows2003服务器(WINJOE),我想备份到一个Linux机器(LINUXJOE),正确地join到域的Windows共享。 我的目标是将WINJOE的共享文件夹备份到LINUXJOE,同时保持Windows的权限/所有者。 在阅读相关文献后,我觉得这是不可能的… 无论如何,在一个理想的世界中,我想在LINUXJOE上挂载一个win共享(只读),例如\\ WINJOE \ important_folder,并从那里运行rsync到备份目录。 我到目前为止: \ WINJOE \ important_folder – >共享文件夹进行备份 LINUXJOE:/ mnt / important – >在LINUXJOE上挂载\\ WINJOE \ important_folder LINUXJOE:/ backup / $ DATE-important – >备份目标目录 目前,我能够使用我的Windows域帐户login到LINUXJOE,如果我在LINUXJOE的文件系统上创build文件,它们将所有者显示为“somewinuser”域用户“”,因此从Windows到Linux的用户映射工作正常。 当我使用以下命令安装\\ WINJOE \ important_folder时: linuxjoe# mount.cifs //WINJOE/important_folder /mnt/important \ -o ro,user=backitup,dom=TODOMAIN,cifsacl,nounix –verbose 我得到: ls -latrh linuxjoe# ls -latrh /mnt/important total 518M -r-xr-xr-x 0 root […]

在文件系统满之前,rsync停止

我想实现一个rsync应该停止,如果目标文件系统的可用空间下降到10G以下,我不知道什么是最好的办法呢? 我在Linux RedHat 5.2上运行 一个快速和肮脏的解决scheme可能是启动一个进程,将循环每一秒,检查可用空间,并相应地杀死rsync,但它真的很糟糕,我认为。 你知道更好的方法吗? 也许我想念一些东西,但rsync没有这样的select。 最后一件事:我不只是rsync,如果存在另一个软件,并用这样的选项做同样的事情,我可以改变。 非常感谢您的帮助Rémi

Synology NAS – rsync搞乱了版本控制/重复数据删除

是否Synology DSM 4.3的默认rsync实施不能处理“庞大”的数据量,并可能导致版本控制/重复数据删除? 难道是任何variables(见下面的详细信息 )可以使这变得更加困难? 编辑:如果上述索赔是无意义的或可能是真的,我只是在寻找答案。 详细信息 : 在工作中,我们有一台Synology NAS在办公室运行。 这个NAS是由一些devise师直接使用的。 他们有运行的项目,包括高分辨率的股票照片,大PSD,PDF和什么不是。 我们有一个大约是一个文件夹。 大小430GB,只包含当前正在运行的项目。 这个文件夹应该每周通过我们的networking连接备份到数据中心。 我们所有的IT都由第三方处理,声称我们的备份开始形成一定的大小(“100GB +”),DSM(4.3)rsync的缺省实现无法处理大量的数据在线备份(在他们的数据中心的一台机器上)。 他们说备份包含大约10TB的数据,因为rsync在“版本/重复数据删除”(保留时间:30天)方面存在问题,并且无法使用。 正因为如此,他们build议使用“专业在线备份服务”,这大大提高了每GB的成本。

在rsyncpath中的某处列出子文件夹

我正在开发一个程序,它将以recursion方式“遍历”Linux存储库,查找与PXE相关的文件并创buildgPXEconfiguration。 我遇到了一个关于镜像上Ubuntu目录结构的问题。 /dists/precise/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/ 正如我们所看到的,有许多variables目录: precise , installer-$ARCH和$arch 我不知道为什么,但我的rsyncconfiguration不匹配任何current/images子文件夹。 UPD: + dists/ + dists/* + dists/*/main/ + dists/*/main/* + dists/*/main/*/current + dists/*/main/*/current/ + dists/*/main/*/current/images + dists/*/main/*/current/images/*** – * UPD:现在它在/current目录失败。 如果我最后用斜杠放电,我不会收到rsync,所以它停止一个目录。 这个或那个rsync不会比当前更深,所以我不会得到任何与当前configuration的images 。 我不想要任何非当前的configuration。 我如何正确地创build一个configuration,只包含main和唯一的networking启动及其内容。 UPD:rsync命令是rsync -r –no-motd –include-from=newinclude rsync://mirrors.kernel.org/ubuntu 解决scheme:好的,很好! 问题在于Ubuntu使用友好的方式来表示当前的版本和版本,并保持当前的符号链接。 如果你用-l标志启动rsync,你会发现它是一个到安装程序中的一个目录的链接 lrwxrwxrwx dists/trusty/main/installer-amd64/current -> 20101020ubuntu300

无法使用rsnapshot同步非拥有的文件,但可以使用普通的rsync命令执行此操作

我正在尝试使用rsnapshot将远程文件同步到我自己的计算机上。 但是,当我需要访问非远程计算机的SSH用户所拥有的文件时,我遇到了一些麻烦。 我的/etc/rsnapshot.conf如下所示: config_version 1.2 snapshot_root /shared/.backup/ cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du retain hourly 6 retain daily 7 retain weekly 4 retain monthly 3 verbose 2 loglevel 5 logfile /shared/.backup/rsnapshot.log ssh_args -i ~/.ssh/id_rsa -p 62222 # BACKUP DEFINITIONS backup [email protected]:/ dev.local.root/ exclude_file=/shared/.backup/exclude.root,+rsync_long_args=–rsync-path='sudo rsync',rsync_short_args=-zalhHx rsnapshot hourly运行rsnapshot hourly后,我看到这个错误: bash: sudo […]

防止rsync删除排除的目录

我通过Ansible的同步模块使用rsync和以下任务定义: synchronize: src='{{ local_app_path }}/.' dest='{{ remote_app_path }}/' perms=no owner=yes rsync_opts=–delete-after 运行此任务将生成以下命令: rsync –delay-updates -FF –compress –archive –no-perms –rsh 'ssh -S none -o StrictHostKeyChecking=no' –rsync-path="sudo rsync" –delete-after –out-format='<<CHANGED>>%i %n%L' "../src/." "[email protected]:/var/www/app/" 我的目录布局是这样的: src/ # … app/ test/ node_modules/ package.json provisioning/ # … playbook.yml .rsync-filter 这是我的.rsyncfilter: exclude /src/.env exclude /src/node_modules 现在我期望运行我的同步任务,并在服务器上得到的目录结构如下所示(注意缺less的node_modules文件夹): app/ test/ package.json 这工作。 但是,一旦我在服务器上创build一个node_modules文件夹… […]

通过临时驱动器将raidz1转换为raidz2

几个月前我创build了一个新的NAS服务器,并将其设置为RaidZ。 我正在重新考虑这个决定,并希望获得额外的驱动,并转移到RaidZ2。 在大家回复说ZFS不可能的情况下,我想指出,我知道这不是直接可能的。 我已经search了几天的文档,但是似乎没有一套如何手动执行此操作的说明。 我相信我需要: 将整个池移到一个足够容纳已用空间的驱动器上 推倒现有的游泳池。 在raidz2中使用额外的驱动器build立一个新的池 将数据移回池中。 这似乎不是太棘手,但我不熟悉ZFS或FreeBSD相信我成功实现了第1步。我也不完全确定第4步,但是可以重试,而第一步搞砸了玩得开心。 我的阅读表明,rsync是有效克隆驱动器的方法,但我想确保我所复制的内容与源代码完全相同 ,包括系统/隐藏文件,符号链接,监狱等等。操作系统是运行镜像闪存驱动器不会改变,理想情况下,他们甚至不会注意到在下次启动时有任何改变(例如,所有的监狱都像以前一样启动)。 复制/克隆池/驱动器是否也会移动分区信息? 将FreeNAS重新创build这些或将我需要手动操纵它们。 我正在运行FreeNAS 9.3,并在一个raidz池中安装了3x3TB硬盘。 我想最终在raidz2 4x3TB。 目前的池使用1.3TB的空间,我有一个外部的2TB驱动器临时存储。 如果数据丢失,这不是关键任务。 更新 实际问题:如何将池复制到临时驱动器,同时确保它是一个足够完整的副本推回到重新创build的zpool。 另外,如果不是简单的原始副本的反面,我又该如何推回来。

当备份到NFS挂载时,rsnapshot冻结

我有一台运行Ubuntu Server 14.04服务器的服务器,现在已经使用rsnapshot定期备份到NFS挂载的NAS几个月了。 上周我们在交换机上增加了几台机器,并开始备份和NFS挂载问题。 Rsnapshot会运行它的rsync命令,在它似乎停止任何事情之前,它将运行一两个小时。 rsync命令将显示在“不可中断的睡眠”状态( 31948 root 25 5 79640 56328 452 D 0.0 0.1 15:13.86 /usr/bin/rsync -a –delete –numeric-ids –relative –delete-excluded –exclude-from=/etc/rsnapshot.excludefile /home /mnt/.private/backup/daily.0/localhost/ )。 一旦发生这种情况,我不能再看NFS挂载了。 如果我试图find这个目录,那么ls命令将会冻结,并且服务器上的负载将通过屋顶,除非我find那个ls命令的PID并且杀死它。 到了这个阶段之后,我可以回到NFS挂载的唯一方法是如果我在物理上重新启动NAS盒子。 有任何想法吗? 感谢您的任何意见!