admin管理员组文章数量:1533099
2023年12月30日发(作者:)
长时间稳定运行的脚本开发需要注意的问题
1.脚本语言种类的选择
语言的选取主要考虑功能和性能的考虑。考虑是否该种语言方便完成所需要的功能,满足性能的要求。通常对于简单的对于性能要求不高的应用,优先考虑使用sh, ksh, awk…。复杂的应用可以考虑使用perl, python。
2.需要具有暂停,并重新从断点继续运行的能力
对于需要长时间运行的脚本,需要有历史纪录的能力,当由于某些外部原因需要暂停、系统重新启动等要求时,可以在系统恢复时,脚本能从断点出继续运行。
可能使用到的技术有:a. 在脚本中捕获信号,并处理,使程序能正常退出。常用的信号有:SIGHUP, SIGINT, SIGQUIT, SIGTERM;b. 纪录运行的历史,如果在程序中断时可以通过历史记录自动找到断点,重新运行。
3.错误监测
注意要对系统命令的返回值进行判断,特别是某些消耗系统资源的命令,例如cp,mv等。对于cp可以考虑使用如果不成功则循环等待的方法。
4.需要有应对系统资源不足的策略
可能的资源不足有:磁盘空间不足;
5.脚本是否能高效运行
一般来说,脚本语言相对C/C++来说效率要低一些,但是它可以快速开发,不依赖编译环境。而广受欢迎。一般来说,用shell实现某功能往往有多种方法,它们的执行效率有时相差悬殊。下面列举一些例子:
a.find . –name *.tmp –exec rm {} ;
没有
find . –name *.tmp |xargs –I rm {}
效率高
b.在拷贝,移动大量文件时,成批拷贝/移动要比一个文件一个文件的拷贝来的快
c.
6.日志纪录、入库
日志对了解程序运行状态,事后查找、统计相关数据至关重要。对于有大量输出的日志,建议每天/小时产生一个日志, 以降低日志文件大小, 减少写大文件对系统性能的影响。
对于以后可能需要频繁查找的日志文件,可以考虑另外开发一个程序定期将日志文件入库,以方便查找。
7.同时运行一个脚本不互相冲突
为了能同时运行多个脚本程序,开发时应注意避免将临时目录、临时文件写死。可以考虑使用进程号作为文件名/目录名的一部分。
8.程序结构化,便于后期维护
9.命令行参数
版权声明:本文标题:脚本开发需要注意的问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1703929590a78331.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论