免费注册 查看新帖 |

Chinaunix

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

问一个关于crontab的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-05 16:08 |只看该作者 |倒序浏览
我在crontab -e后添加下面条目
* * * * * banner \"${NUM}\" | write test; ((NUM=$NUM+1))
当前是root用户,NUM是环境变量,初始值为1,已经写在/etc/profile里边了。
目的是要实现每隔一分钟向test用户发一个整型数据消息,并且整型数据每次加1。
用env或set可以看到NUM每隔一分钟能够加1,说明((NUM=$NUM+1))可以执行;
test每隔一分钟也能有收到消息的反应,说明banner和write都没有用错;
但是test收到的是空消息,而不是整型数据,说明\"${NUM}\"并没有被识别成相应的数据,如果我用一个字符串直接传,test就可以收到了。
同样的NUM,为什么在((NUM=$NUM+1))中能被识别,而在banner \"${NUM}\"中就不能识别呢?我应该怎么做,才能实现要求的功能?

论坛徽章:
0
2 [报告]
发表于 2007-01-07 21:59 |只看该作者
能不能写个shell,测试通过了,然后把这个shell script的绝对路径写到crontab里面?
这样感觉修改测试更加方便点,而且可以实现更加复杂的命令

论坛徽章:
0
3 [报告]
发表于 2007-01-09 10:49 |只看该作者
写一个shell可以方便点,但出现和以前一样的问题。
我在/etc/profile里边加环境变量,也重新执行了,但是仍然在banner \"${NUM}\"中就不能识别……

论坛徽章:
0
4 [报告]
发表于 2007-01-09 11:12 |只看该作者
把环境变量放到crontab里面执行!

论坛徽章:
0
5 [报告]
发表于 2007-01-09 11:24 |只看该作者
shell里面写清楚
su - xxx

论坛徽章:
0
6 [报告]
发表于 2007-01-09 11:44 |只看该作者
好的,谢谢,我再试试看

论坛徽章:
0
7 [报告]
发表于 2007-01-09 14:27 |只看该作者
不行啊,把环境变量放到crontab里面和su - xxx 的效果一样,都是每次执行crontab的时候,NUM都被重新定义和赋值,所以是不可能连续增加的~~~~~~~~
关键是现在不知道在crontab里边怎么才能访问到用户(例如root)的环境变量的值,并修改它

并且现在((NUM=$NUM+1))也不执行了

[ 本帖最后由 ivanpank 于 2007-1-9 14:32 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-01-09 14:49 |只看该作者
touch 一个 a.txt 文件
写一个1
#!/usr/bin
b=`more a.txt`
b+1>a.txt
banner $b

没测过,但感觉稍微调整一下就应该可以实现了

论坛徽章:
0
9 [报告]
发表于 2007-01-09 14:50 |只看该作者
否则每次你都是重新调用,不是连续使用
或者你写一个shell
然后写个循环,后面跟一个sleep 60
感觉也可以,就是应该会比较占用性能吧

论坛徽章:
0
10 [报告]
发表于 2007-01-09 14:56 |只看该作者
我知道了,这个方法是可以的,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP