我在 Windows 7 和 cygwin 中使用著名的 logrotate,我拥有最新的 cygwin dll,但不知何故该应用程序对我来说不起作用,而配置文件似乎没问题。有人遇到过这种情况吗?我的配置文件是这样的
nocreate
/cygdrive/c/log/*.log
{
daily
rotate 14
nocompress
nocopytruncate
}
控制台给了我一个意外的文本错误,还说找不到指定的目录。
编辑:
error: logrotate.conf:1 unexpected text
error: logrotate.conf:2 lines must begin with a keyword or a filename (possibly in double quotes)
error: logrotate.conf:3 unexpected text
error: logrotate.conf:4 unexpected text
error: logrotate.conf:5 unexpected text
error: logrotate.conf:6 unexpected text
error: logrotate.conf:7 lines must begin with a keyword or a filename (possibly in double quotes)
error: logrotate.conf:8 lines must begin with a keyword or a filename (possibly in double quotes)
error: stat of /cygdrive/C/log/*.log failed: No such file or directory
这些是我运行应用程序后从控制台收到的错误。权限一切正常。
答案1
意外的文本可能意味着你有 DOS 风格的行尾logrotate.conf
:尝试运行
dos2unix logrotate.conf
然后有这一行:
error: stat of /cygdrive/C/log/*.log failed: No such file or directory
- 该目录存在吗?
- 其中有任何*.log文件吗?
- * 是否被正确扩展?
- 是否存在由于 Windows 7 UAC 未被 cygwin 处理而导致的权限问题?
尝试指定,比如,/tmp/testlogdir/testlog.log
(并且实际创建该文件!)