免费注册 查看新帖 |

Chinaunix

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

在crontab中执行find -exec rm的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-14 12:56 |只看该作者 |倒序浏览
#!/bin/sh
export ORACLE_HOME=/opt/oracle/product/9.2.0
export PATH=$PATHORACLE_HOME/bin:/sbin:.
export ORACLE_SID=drog
bakdir="/opt/data_bak/"
filename="$bakdir"`date +%Y%m%d`
find $bakdir -ctime +3 -exec rm -f {} \;
exp userid=drog/******@drog owner=drog file="$filename"".dmp"


crontab -l
结果
0 1 * * * /home/drog/bak.sh

ls -l /opt/data_bak/
结果
-rw-r--r--  1 oracle dba 7093125120  9月 10 01:36 20090910.dmp
-rw-r--r--  1 oracle dba 7182123008  9月 11 01:36 20090911.dmp
-rw-r--r--  1 oracle dba 7250960384  9月 12 01:36 20090912.dmp
-rw-r--r--  1 oracle dba 7315136512  9月 13 01:37 20090913.dmp
-rw-r--r--  1 oracle dba 7363215360  9月 14 01:37 20090914.dmp

手动执行脚本都没什么问题,放到crontab后数据备份没问题,但是三天之前的数据没被删除。

有没有哪位碰到过这样的问题?

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
2 [报告]
发表于 2009-09-14 13:07 |只看该作者
# env
把这个显示的东东全加到crontab -e里的开头去,然后试试

论坛徽章:
0
3 [报告]
发表于 2009-09-14 13:15 |只看该作者
原帖由 gamester88 于 2009-9-14 13:07 发表
# env
把这个显示的东东全加到crontab -e里的开头去,然后试试


谢谢回复,但是env中对我脚本有用就Oracle的路径和PATH,我都已经加上了

论坛徽章:
0
4 [报告]
发表于 2009-09-15 14:45 |只看该作者
问题解决!
备份数据和删除过期数据的语句顺序调一下就行了
-ctime n
              File<A1><AF>s status was last changed n*24 hours ago.  
脚本执行的时间比文件的创建时间少了30+mins,达不到删除要求

唉,真是低级错误

论坛徽章:
0
5 [报告]
发表于 2009-09-15 20:01 |只看该作者
呵呵,确实啊,有的时候这些细节还真难发现啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP