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. 命令行参数
发布评论