免费注册 查看新帖 |

Chinaunix

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

[系统管理] find "*.dmp" -exec rm -f {} \; 在crontab中不执行。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-31 16:23 |只看该作者 |倒序浏览
操作系统:AIX 5.3

crontab 中如下命令,执行出错,手动执行没有问题,没有找问题原因,不知是不是\转义的原因。
======================
30 17 * * 2-6 . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} \;


在/var/adm/cron/log 中有如下错误:
======================
root      : CMD ( . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} ; ) : PID ( 9281644 ) : Tue Oct 30 17:30:00 2012
Cron Job with pid: 9281644 Failed

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
2 [报告]
发表于 2012-10-31 16:40 |只看该作者
本帖最后由 yestreenstars 于 2012-10-31 16:42 编辑

30 17 * * 2-6 . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} \;

2-6后面有个.
我猜你应该把那个.删掉

论坛徽章:
0
3 [报告]
发表于 2012-10-31 23:07 |只看该作者
回复 2# yestreenstars

不是那个点.的原因哦,我还有其他脚本都没有问题啊。 log中命令行变成了:
. /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} ; 总感觉问题在那个斜杠上面,输入: ... -exec rm -f {} \;
log中那个杠不见了,有哪位告知这个该如何改写?

root      : CMD ( . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} ; ) : PID ( 9281644 ) : Tue Oct 30 17:30:00 2012
Cron Job with pid: 9281644 Failed


   

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
4 [报告]
发表于 2012-11-01 09:42 |只看该作者
有那个.能正常运行?你的/usr/bin/find本身是个shell脚本?

论坛徽章:
0
5 [报告]
发表于 2012-11-01 12:54 |只看该作者
回复 4# waker

Sorry, 这行有这个点(.)确实不行。参照之前的内容写的,没弄清加这个点.的含义,弄巧成拙了。
.  /u05/tesh.sh 这个就行,这个点(.后面有个空格)是不是当前目录的意思? 后面为绝对路径,
加个这点有什么作用,哪位能不能解释一下?


   

论坛徽章:
0
6 [报告]
发表于 2012-11-01 15:29 |只看该作者
应该是正则表达式的问题,如果没有执行你可以看看,/var/spool/mail/root  ,一般会有邮件发送到root下面,
看看是什么原因造成

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2012-11-01 16:00 |只看该作者
回复 5# anderlee

  1. . filename [arguments]
  2. source filename [arguments]
  3. Read and execute commands from filename in the current shell environment and return the exit status of the last command executed from filename. If filename does not contain a slash, file names in PATH are used to find the directory containing filename. The file searched for in PATH need not be executable. When bash is not in posix mode, the current directory is searched if no file is found in PATH. If the sourcepath option to the shopt builtin command is turned off, the PATH is not searched. If any arguments are supplied, they become the positional parameters when filename is executed. Otherwise the positional parameters are unchanged. The return status is the status of the last command exited within the script (0 if no commands are executed), and false if filename is not found or cannot be read.
复制代码

论坛徽章:
0
8 [报告]
发表于 2012-11-02 16:28 |只看该作者
回复 6# yyp8008

谢谢提醒,找到原因了。在crontab 中需写成下面的形式,AIX下的crontab 真有点难搞,碰到两次问题了,命令copy出来执行得好好的,放到crontab里面就报错。
========
30 17 * * * 2-6 . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} \\\;

crontab log错误:
========
root      : CMD ( . /usr/bin/find /u05/  -name "*.dmp" -mtime +1 -exec rm -f {} ; ) : PID ( 9281644 ) : Tue Oct 30 17:30:00 2012
Cron Job with pid: 9281644 Failed

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP