免费注册 查看新帖 |

Chinaunix

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

[桌面系统] 请问,如何让crontab只执行一次目标文件夹中的执行文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-19 11:41 |只看该作者 |倒序浏览
本帖最后由 xixizhihua 于 2013-07-19 14:02 编辑

大家好,我遇到了这样一个应用问题。
MAILTO=""
*/1 * * * * run-parts /home/sxixi/crontest

从别的文件中生成了一个qq.sh放到crontest文件夹中
qq.sh
#!/bin/sh
cd /home/sxixi/crontest/test2; make start;

我的想法是让crontab每分钟都检查这个文件夹,有新文件就执行。
但每个文件只用执行一遍就好,不用重复执行。
请问一下,我该怎么设置呢?

论坛徽章:
0
2 [报告]
发表于 2013-07-19 16:26 |只看该作者
没看懂到底想怎么个只执行一次。
是只执行新文件?
  1. find -cmin -1 -exec sh {} \;
复制代码

论坛徽章:
0
3 [报告]
发表于 2013-07-19 17:11 |只看该作者
是的,应为会不断有新文件放到这个文件夹里。
但每个文件执行一次就不用再执行了。
我希望是,防止同样的文件,被cron job 在文件夹内检查到后,每次都执行。
能不能做个标记,告诉cronjob,这个文件执行过了,不要再理它了。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
4 [报告]
发表于 2013-07-19 19:44 |只看该作者
你的qq.sh不是别的程序生成的吗,在脚本里面检测qq.sh文件是否存在,如果存在,,就执行,成功之后删除qq.sh.

论坛徽章:
0
5 [报告]
发表于 2013-08-14 13:42 |只看该作者
谢谢版主。
我目前是这么使用的。
但是,有一个问题,因为这个文件夹,要共享给很多人使用。
他们将sh放到这个文件夹后,用cronjob的公用account来执行。
一旦有人的sh写错,后续程序中的mv 命令没有执行成功。
这个sh就会被cronjob反复执行。
这会带来潜在危险,我想请问一下,有没有方法可以从cronjob或者系统本身进行设置。
cronjob的执行文件夹内,只要执行过的文件,就加一个特殊标记,让cronjob不要再执行了。
让这种机制和sh的内容无关,这样就可以保证,cronjob不会重复执行同一个sh了。

论坛徽章:
0
6 [报告]
发表于 2013-08-14 13:42 |只看该作者
本帖最后由 xixizhihua 于 2013-08-14 13:45 编辑

卡了一下,连发了2次。

论坛徽章:
0
7 [报告]
发表于 2013-08-14 14:34 |只看该作者
分享一下,为了提高安全性,我现在用的是这样一个思路。
所有人的sh,都放到/home/ff/test。
crontab中,只执行一个固定的sh
这个sh的作用,就是到/home/ff/test内,把所有的文件都执行一遍,然后再把这些文件都清空。
这样,cronjob是否清空原有文件,就和目标sh本身的内容无关了。
即使其它的人写入的sh有问题,也会在执行一次后,被清掉。
虽然多了一级操作,但是使工作的可靠性大大提升了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP