0

我在 WD My Book Live (2TB) 上配置了 RSnapshot,并且它可以正常工作(至少日志是这样说的)。我使用来自 /usr/share/doc/rsnapshot/examples/utils/rsnapreport.pl.gz 的报告工具 rsnapreport.pl 来获取有关 crontab 触发的备份作业的人类可读邮件报告。

虽然备份作业似乎有效,但报告显然缺少信息,正如您在此片段中看到的那样:

SOURCE                          TOTAL FILES   FILES TRANS      TOTAL MB     MB TRANS   LIST GEN TIME  FILE XFER TIME
--------------------------------------------------------------------------------------------------------------------
rsync://server:/vmail                 13950           137       3687.81        20.31   0.052 seconds   0.000 seconds

ERRORS
/shares/rsnapshot/daily.0/ NO STATS DATA

现在的问题是:

除了底部的错误,这是我的第一个也是主要的问题和问题,对于所有备份作业,FILE XFER TIME 也是 0(我猜这些问题是相关的)。

我遵循了所有说明(见下文) - 我错过了什么?

那么到目前为止我做了什么:

*) NAS 运行 Debian Squeeze(包括squeeze-backports),内核版本为 2.6.32,PPC 架构。

*) rsync 版本 3.0.3-2(预装),带有 /etc/rsyncd.conf:

pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsync.log

[rsync]
path=/shares/rsync
uid=root
gid=share
read only=no
list=yes
auth users=root

*) 使用 /etc/rsnapshot.conf 安装 rsnapshot 1.3.1-1:

config_version  1.2
snapshot_root   /shares/rsnapshot/
cmd_rm          /bin/rm
cmd_rsync       /usr/bin/rsync
cmd_logger      /usr/bin/logger
interval        daily   7
interval        weekly  4
interval        monthly 3
verbose         3
loglevel        3
logfile         /var/log/rsnapshot.log
lockfile        /var/run/rsnapshot.pid
rsync_long_args --delete --numeric-ids --relative --delete-excluded --stats
backup  rsync://server:/vmail/     backupOfServer/vmail/
backup  ...
backup  ...
backup  ...

*) 解压报告脚本并按照脚本中的说明进行操作(大部分可以在上面的配置中看到):

# this script prints a pretty report from rsnapshot output
# in the rsnapshot.conf you must set
# verbose >= 3
# and add --stats to rsync_long_args
# then setup crontab 'rsnapshot daily 2>&1 | rsnapreport.pl | mail -s"SUBJECT" backupadm@adm.com
# don't forget the 2>&1 or your errors will be lost to stderr

*) 并设置 cron.d/rsnapshot:

MAILTO="user1@foo,user2@foo"

30 3    * * *           root    /usr/bin/rsnapshot daily 2>&1 | /root/rsnapreport.pl
0  3    * * 1           root    /usr/bin/rsnapshot weekly 2>&1 | /root/rsnapreport.pl
30 2    1 * *           root    /usr/bin/rsnapshot monthly 2>&1 | /root/rsnapreport.pl

如果您需要任何详细或附加信息,请不要犹豫。我们很高兴每天都有备份报告,只是底部的错误让我们感到紧张。

最好的问候和提前感谢,

彼得

4

3 回答 3

1

这个错误的原因是,我没有取消注释cmd_cp参数。因此,RSnapshot 使用了其内置的复制机制,该机制使用 rsync。

这个 rsync 调用被回显到输出。报告脚本扫描输出以查找对 rsync 的调用并查找传输统计信息,但最初的“复制”命令不会产生此类统计信息 - 因此错误显示源的“无统计信息”/daily.0

解决方案是,读取配置文件并按照说明进行操作:

# LINUX USERS:   Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
#cmd_cp          /bin/cp

取消注释最后一行修复了错误... RTFM ;)

于 2013-08-17T13:54:26.690 回答
0

如果您错过以下内容,也会报告“NO STATS DATA”错误:

    rsync_long_args --stats
于 2013-10-31T12:59:20.220 回答
0

如果您备份路径中包含“rsync”的内容(如 /etc/default/rsync),也会报告“NO STATS DATA”错误。

例如,在这种情况下,命令rsnapshot daily 2>&1 | /bu/script/rsnapreport.pl | mail -s "[BU Report]date" me@example.com将返回以下错误:

在 /bu/script/rsnapreport.pl 第 95 行,<> 第 3991 行的散列元素中使用未初始化的值 $source。在 /bu/script/rsnapreport.pl 第 96 行,<> 行的散列元素中使用未初始化的值 $source 3991. ...

这是由于 rsnapreport.pl 脚本从 rsync 输出和其中的“rsync”字符串解析统计信息。

要简单地解决此问题,请在 /etc/rsnapshot.conf 中添加与 rsync 输出中发现的有问题的 rsync 字符串对应的行:

例如,如果您不需要备份 etc/default/rsync:

exclude         etc/default/rsync

如果您需要使用包含“rsync”的路径备份文件,则必须修改 rsnapreport.pl 脚本。

于 2016-11-24T15:12:15.133 回答