Articles of rsync

允许用作备份的共享主机

我一直在寻找一段时间,我似乎无法find一个共享的Web主机,将允许我备份我的异地数据每晚(使用rsync)。 我正在使用主机本身来对我正在备份的该网站的克隆进行开发工作。 任何人都知道如果其中之一,甚至存在? 如果没有,一个真正便宜的备份解决scheme,将允许我每晚转让2-4gigs(只需要最新的副本)?

USB驱动器在一段时间后变为只读

我们的备份“解决scheme”包括将USB驱动器挂接到备份服务器,以及运行一个自定义脚本,将rsync数据传输到USB驱动器。 但是,一段时间后,该驱动器变成只读。 这是dmesg的输出: [2502923.708171] sdb: sdb1 [2502923.742767] sd 36:0:0:0: [sdb] Attached SCSI disk [2502980.368020] kjournald starting. Commit interval 5 seconds [2502980.482705] EXT3 FS on sdb1, internal journal [2502980.482705] EXT3-fs: recovery complete. [2502980.488709] EXT3-fs: mounted filesystem with ordered data mode. [2590744.432168] usb 1-2: USB disconnect, address 36 [2590744.432655] sd 36:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK,SUGGEST_OK [2590744.432784] end_request: […]

故障转移tmpfs镜像。 我做对了吗?

我的目标是有一个特定的目录作为tmpfs可用。 在这个目录的服务器正常运行时间里会有一些修改,这些修改必须通过rsync同步到硬盘上的非tmpfs持久目录。 服务器启动后,非tmpfs持久目录的最新版本必须移动到tmpfs和rsync同步启动。 恐怕如果tmpfs目录将是空的,rsync将擦除非tmpfs备份。 我现在正在这样做: 在/ etc / fstab中创buildtmpfs分区 cat /etc/rc.local(伪代码) 如果有的话,从/ var / spool / cron / crontabs删除“tmpfs rsync”cronjob cp -r / path / to / non-tmpfs-backup / path / to / tmpfs / dir 用“tmpfs rsync”cronjob追加/ var / spool / cron / crontabs 你怎么看?

如何使用rsync来备份整个文件系统 – 包含/排除规则文件

我正在尝试为我的FreeBSD服务器设置rsync备份。 我已经放在一起看起来像这样的rsync命令: rsync -avzhe ssh –progress –delete –delete-excluded \ –exclude-from=/root/rsync-excludes \ -e ssh / [email protected]:Backups/location 我/root/rsync-excludes文件如下所示: – *~ + /root + /usr/home + /usr/srv + /etc + /usr/local/etc + /var/backups + /usr/local/pgsql/backups – /root/.my.cnf – /* 但由于某种原因,它只备份/ etc和/ root,而忽略其他文件。 有人能解释为什么吗? 解 根据Gilles的回答,我明白了,现在我的configuration如下所示: – *~ + /etc + /root + /usr/ + /usr/home + /usr/local/ + […]

rsync只有在svn控制下的文件

如何从版本控制下的文件和文件不受版本控制的文件目录中,仅同步svn控制文件。 只有svn控制文件需要rsynced。 动机是只有必要的文件移动到生产,并保留所有其他文件,如在.svn文件夹。 如果这些文件在公共服务器上,则存在安全风险。

使用rsync从php脚本内部从本地上传文件到远程服务器,而无需input密码

我已经设置了一个公钥来自动为我的用户在远程服务器上login。 所以这是从cli运行没有任何问题: rsync -r -a -v -e "ssh -l user" –delete ~/local/file 111.111.11.111:~/remote/; 但是,当我尝试从PHP脚本(在本地服务器的网页上)运行相同的操作时: $c='rsync -r -a -v -e –log-file=FILE "ssh -l user" –delete ~/local/file 111.111.11.111:~/remote/'; //exec($c,$data); passthru($c,$data); print_r($data); 这是我收到的: 2011/01/23 19:18:29 [6401] rsync: connection unexpectedly closed (0 bytes received so far) [sender] 2011/01/23 19:18:29 [6401] rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.7] […]

在rsync命令中放置SSHlogin信息的位置?

我需要一些帮助让我的rync命令语法工作。 我需要将远程服务器上的/home/user/public_html文件夹克隆到通过SSHlogin的服务器上,将该文件夹复制到本地计算机上的相同path。 我在本地计算机上有根用户,在远程计算机上有一个用户帐户shell。 我不清楚在哪里放置SSHlogin信息以及如何定义文件夹path。

在多台服务器之间传输大文件的最佳方法是什么?

我目前正在使用scp,但似乎每天都变得越来越慢。 我最多30台服务器,我需要每天洗牌3-5千个文件,平均大小为200-400MB。 我以前也用过rsync,结果更可怜。 每个服务器应该能够将文件传输到池中的任何其他服务器(我现在每月增加大约7台服务器),所以密钥pipe理也是非常重要的。

在初始化lsyncd之前运行rsync扫描,以同步EC2上的实例

我的公司使用几台EC2服务器,根据我们在任何时候在我们的网站上收到的负载进行放大和缩小。 为了我们在这里的讨论,我们运行了四个实例: master.ourdomain.com – 同步networking服务器“集线器”的文件 www1 / www2 / www3.ourdomain.com – 根据加载指令打开或closures的三个Web服务器 我使用lsyncd来保持所有的web服务器同步,而且大多数情况下它工作得很好。 我们使用双向同步scheme,以便每个Web服务器与主服务器进行同步,并对每个Web服务器进行主同步。 因此,networking服务器保持同步,即使它们不直接相互同步。 不过,我遇到了一个难以解决的问题。 在这种情况下会发生: 对主服务器进行更改(也许在推送新代码之后),而某些冗余的Web服务器正在hibernate 然后睡觉的networking服务器醒来吸收负载 在这种情况下,我想要发生以下情况: 首先,新觉醒的networking服务器应该同步它的文件结构 – 一种方法 – 反对主站点,以使其Web应用程序代码最新。 然后,只有这样,才能开始将其文件结构中的更改推回给主。 不幸的是,当睡眠服务器启动时,当lsyncd启动时,会在更新自己的代码库之前将更改推回到主服务器,从而用旧的覆盖新代码。 因此,在lsyncd启动之前,我希望能够将web服务器代码与主服务器进行同步,也许通过针对两台机器运行简单的单向rsync。 我们正在运行lsyncd v.2,并试图通过使用lsyncd手册中logging的“bash”configuration选项来实现此目的 。 我的configuration文件如下所示: settings = { logfile = "/home/user/log/lsyncd/log.txt", statusFile = "/home/user/log/lsyncd/status.txt", maxProcesses = 2, nodaemon = false, } bash = { onStartup = "rsync [email protected]:/home/user/www […]

许多Rsync目录的权限被拒绝

我正在使用Rsync来备份Ubuntu服务器服务器。 我得到了很多权限被拒绝的消息。 有没有一个命令我可以用来确切地看到什么目录被拒绝? 我可以回滚所有的文件,但这将永远。 任何帮助将不胜感激。