使用nagios监视文件时间的问题(文件名中的命令replace)

在我现在的nagios安装中,我通过NRPE检查是否存在远程备份。 特别是,我的远程nrpe.cfg(在Ubuntu 8.x上)是:

command[check_zimbra_backup]=/usr/lib/nagios/plugins/check_file_age -f \\ /backupdir/zimbra_backup-$(date +%a).tar.gz -w 518400 -c 86400 

在本地运行命令返回OK:

 $ sudo su -m nagios -c "/usr/lib/nagios/plugins/check_file_age -f \\ /backupdir/zimbra_backup-$(date +%a).tar.gz -w 518400 -c 86400 " FILE_AGE OK: /backupdir/zimbra_backup-Sun.tar.gz is 47661 seconds old and 10863637475 bytes 

但是,我的日志显示关键:

 nagios: SERVICE NOTIFICATION: zimbra backups;CRITICAL;notify-service-by-email; FILE_AGE CRITICAL: /backupdir/zimbra_backup-Sun.tar.gz is 22373 seconds old and 10863637475 bytes 

请注意,如果报告的秒数(22373)小于警告参数(86400或24小时),它将如何返回临界状态。

有趣的是,运行NRPE插件远程返回一些奇怪的东西:

 $ sudo su -m _nagios -c "/usr/local/libexec/nagios/check_nrpe -H HOST \\ -c check_zimbra_backup" FILE_AGE CRITICAL: /backupdir/zimbra_backup-Sun.tar.gz is 23611 seconds old and 10863637475 bytes ҷ?Oڷ`xڷ 

注意最后一行,看起来像一些乱码输出。

check_file_age插件是版本v1750 (nagios-plugins 1.4.11)

解决方法是改变命令replace

 [...]zimbra_backup-$(date +%a).tar.gz 

 [...]zimbra_backup-`date +%a`.tar.gz 

看起来像nagios遇到$符号时执行一些奇怪的命令replace。