3

每当存储同步时,我们都会遇到客户的 SAN 存储和文件“消失”的问题。我们有一个自定义 4D 数据库,它正在执行一个简单的脚本,通过 rsync 将文件从一个位置同步到另一个位置。

我们正在执行的脚本是这样的:“rsync -rvuE --log-file=/tmp/rsync.log SRC DST”。问题是 rsync 报告“rsync 警告:某些文件在传输之前就消失了(代码 23)”。此错误仅显示在终端/STDOUT 和 system.log 中。但是,它不会显示在 --log-file 位置。我想将它发送到 rsync.log 因为我们读回日志以了解完成和错误并将其报告给用户。

现在这是棘手的部分,我们无法将 STDOUT 或 STDERR 重定向到日志,因为它锁定了服务器。

4

3 回答 3

0

你试过nohup吗?哪个将捕获标准输出和标准错误?您还可以在 system.log 文件中查找错误消息,然后将其附加到日志文件中。

于 2013-04-23T19:34:03.640 回答
0

我每天执行rsync多次备份(通过自动化工具)。我grep通过我的备份日志做了一个。我的日志显示rsync默认情况下将消失的文件记录到其日志文件中。我不使用--log-file-format或任何其他更改日志文件格式的选项。

它看起来像这样:

2012/08/17 19:00:28 [12861] file has vanished: "foo"

我也可以找到那里记录的其他错误,例如由于权限而无法传输的文件。上面的日期是我仍然拥有的最旧日志文件中显示该类型错误的实际日期。我当时用的版本rsync是3.0.9,所以rsync从那个时候就一直在做。

于 2014-12-04T13:39:30.543 回答
-1

如果内存不足,4D 将生成 .tmp 文件 - 并再次删除它们。这发生在 4D 数据文件夹中。从同步中排除它。只需同步 4D 生成的备份文件。无论如何,同步打开的 4D 数据文件都会失败……服务器一直在向它写入数据。

彼得

于 2014-09-22T14:40:26.127 回答