免费注册 查看新帖 |

Chinaunix

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

求大侠帮写个脚本,自己不会写!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-20 14:49 |只看该作者 |倒序浏览
1:编写一个脚本,a,b,脚本A,按时间间隔检查B脚本是否在运行,如果没运行,则执行脚本B
2: 脚本B查找特定目录中的*.*文件,在日志中输出此次查找到的文件名称。如果没有*.*文件,脚本停止执行。如果有则拷贝此次查找到的文件到特定的一个目录(比如一台NFS服务器)拷贝后删除此次查找复制的文件。



不知道上面的描述正确不,脚本A能够通过系统检测脚本B的运行吗?请各位大侠帮帮忙写写这个脚本吧

论坛徽章:
0
2 [报告]
发表于 2009-10-20 16:20 |只看该作者

回复 #1 sle315 的帖子

大侠们,能挤出点滴时间指点指点吗?啥都不会,一点一点的研究好困难。。
定时启动已经做出来了

#crontab -e
*/2 * * * * /home/bobo/test.sh >> /home/bobo/test.log

vi test.sh
   #!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
------------------------------------------------
通过test.log 能看到执行结果
下一步写个脚本A,检测脚本B是不是正在执行,如果正在执行则输出脚本B正在运行,如果不在执行,则执行脚本B.

论坛徽章:
0
3 [报告]
发表于 2009-10-20 16:24 |只看该作者

回复 #2 sle315 的帖子

一个脚本是否运行,我们能用另一个脚本检测到吗?假设B脚本正在执行拷贝命令,拷贝的时间比较长,能看到这个脚本是否正在运行吗?

论坛徽章:
0
4 [报告]
发表于 2009-10-20 16:36 |只看该作者

回复 #1 sle315 的帖子

1 先把你的标题改改
2 we are not code writer
3 大侠们,能挤出点滴时间指点指点吗?啥都不会,一点一点的研究好困难
                                                                              ------找到乐趣没,有没有信心坚持下去?

论坛徽章:
0
5 [报告]
发表于 2009-10-20 16:40 |只看该作者
脚本a
#!/bin/bash
while ((0 < 1))
do
ps -ef|grep -v "grep"|grep 脚本b名字 || sh /脚本b
sleep 60
done
或者放到crontab里

脚本b
#!/bin/bash
ls /特定目录/文明名 && cp 文件 /特定目录 && rm -f /特定目录/文件名 ||  exit 1

这是招你意思写的...但是你这样其实很不好
你思路不好

[ 本帖最后由 cxfcxf 于 2009-10-20 16:44 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-10-20 16:48 |只看该作者

回复 #4 hyagami 的帖子

看到回复好激动,谢谢鼓励,找到乐趣了,兴趣是创作的原动力...

论坛徽章:
0
7 [报告]
发表于 2009-10-20 16:51 |只看该作者

回复 #5 cxfcxf 的帖子

谢谢指点,我按你的意思实现一下....

论坛徽章:
0
8 [报告]
发表于 2009-10-20 17:47 |只看该作者

回复 #5 cxfcxf 的帖子

根据你的指点已经实现了内容,我怎么通过日志看到我每一次操作的内容,现在我在输出的日志上只看到文件的列表,没有明确的间隔,如何确定我拷贝删除的文件是否成功了?
crontab -e
*/2 * * * * /home/bobo/a.sh >> /home/bobo/a.log

a.sh
#!/bin/bash
while ((0<1))
do
ps -ef|gerp -v"grep"|sh /home/bobo/b.sh
sleep 60
done

b.sh
#!/bin/bash
ls /home/bobo/test && cp /home/bobo/test/*.rpm /home/bobo/test2 && rm -rf /home/bobo/test/*.rpm||exit 1

论坛徽章:
0
9 [报告]
发表于 2009-10-20 17:48 |只看该作者

回复 #8 sle315 的帖子

我看到的a.log
compat-db-4.2.52-5.1.i386.rpm
compat-libcwait-2.1-1.i386.rpm
compat-libstdc++-296-2.96-138.i386.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
compat-db-4.2.52-5.1.i386.rpm
compat-libcwait-2.1-1.i386.rpm
compat-libstdc++-296-2.96-138.i386.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
giflib-4.1.3-7.1.el5.1.i386.rpm
giflib-devel-4.1.3-7.1.el5.1.i386.rpm
gtk+-1.2.10-56.el5.i386.rpm
gtk+-1.2.10-57.fc7.i386.rpm
gtk+-devel-1.2.10-56.el5.i386.rpm
imlib-1.9.15-6.rhel5.i386.rpm
imlib-devel-1.9.15-6.rhel5.i386.rpm
libpng10-1.0.42-1.rhel5.i386.rpm
这个是我分好几次执行的,但是看到的结果是这个,在日志里能用时间区分下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP