免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6178 | 回复: 15
打印 上一主题 下一主题

[FreeBSD] 使用cronolog时的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-19 10:04 |只看该作者 |倒序浏览
问题如下:
bbs# /etc/rc.d/cronolog
cp: /var/log/date -v-1d +%w/casdu.cn-access_log: No such file or directory
find: -exec: no terminating ";" or "+"

#########/etc/rc.d/cronolog的内容如下############
#!/bin/sh

#back up old log
/bin/cp -f /var/log/'date -v-1d +%w'/casdu.cn-access_log /var/log/casdu.cn-access_log_yesterday

#remove old log
/usr/bin/find /var/log -name casdu.cn-access_log -mtime +6 -exec rm -f {}\;
########################################

在FreeBSD下用如下命令:
#date -v-1d +%w
会显示昨天的星期数,比如今天是星期6则返回5。可是为什么放到脚本里就不支持呢?日志不能每天自动备份
我想了很长时间都没有找到原因,大牛们帮帮忙吧~~

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-05-19 10:09 |只看该作者
有两种可能
一  路径是否正确
二  是否有可执行权限

论坛徽章:
0
3 [报告]
发表于 2007-05-19 10:22 |只看该作者
/etc/rc.d/cronolog的权限我已经改成777了。
路径也没错呀,我的日志都放在了/var/log里,现在里面已经有文件夹名为4、5、6的文件夹了,里面的文件名都是casdu.cn-access_log,这说明cronolog已经正常工作了,可是就是不能自动把前一天的casdu.cn-access_log备份成/var/log下的casdu.cn-access_log_yesterday呢,这让我很头疼。

-rw-r--r--   1 root  wheel    2593743 May 18 10:28 casdu.cn-access_log_yesterday

这还是我昨天上午手动做了一个备份呢。

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
4 [报告]
发表于 2007-05-19 10:25 |只看该作者
EXAMPLES:
  cp xxx /var/log/`date -v-1d +%w`/xxxx

论坛徽章:
0
5 [报告]
发表于 2007-05-19 10:26 |只看该作者
从出错信息上看似乎date -v-1d +%w没有返回数值,难道在脚本里不能这样用吗?

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
6 [报告]
发表于 2007-05-19 10:26 |只看该作者
是`不是'

论坛徽章:
0
7 [报告]
发表于 2007-05-19 10:32 |只看该作者
原帖由 congli 于 2007-5-19 10:25 发表
EXAMPLES:
  cp xxx /var/log/`date -v-1d +%w`/xxxx


/bin/cp -f /var/log/'date -v-1d +%w'/casdu.cn-access_log /var/log/casdu.cn-access_log_yesterday
这个指令和你的这个例子有什么不同吗?我没看来呢。
我是想把/var/log/5/casdu.cn-access_log复制到/var/log下并改名为casdu.cn-access_log_yesterday。
当然了,这里的数字5是依据星期而变的,因为今天是星期6嘛。

论坛徽章:
0
8 [报告]
发表于 2007-05-19 10:35 |只看该作者
原帖由 congli 于 2007-5-19 10:26 发表
是`不是'

在脚本里是有‘ ’的呵,我看不太懂这条出错信息是什么意思呢:
cp: /var/log/date -v-1d +%w/casdu.cn-access_log: No such file or directory
find: -exec: no terminating ";" or "+"

[ 本帖最后由 osos 于 2007-5-19 10:37 编辑 ]

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
9 [报告]
发表于 2007-05-19 10:37 |只看该作者
``是执行命令,''引号而已.
cp xxx /var/log/`date -v-1d +%w`/xxxx

/bin/cp -f /var/log/'date -v-1d +%w'/casdu.cn-access_log /var/log/casdu.cn-access_log_yesterday

论坛徽章:
0
10 [报告]
发表于 2007-05-19 10:41 |只看该作者
啊?!我错了,没有注意到这两者的区别,谢谢你谢谢!!这下成功了。

只是还有一个小错误:
find: -exec: no terminating ";" or "+"
这是怎么回事呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP