最近在做一些脚本相关的工作,有一些经验心得,分享给大家。
1: log。 在脚本里记一些 log 有助于帮助我们来排查问题。log不仅仅记一些流程性的log,对于一些关键数据的log应该也要记。
2:log的存储。这个主要是针对一些一直跑的一些服务,要注意做好日志的切分和存储,以及定期清理的工作,不然服务器的空间会占的越来越多。
3:报警。我们对于脚本中一些不应该出现的异常 case 或者脚本挂掉了应该有报警的机制。可以通过邮件或者企业内部通讯工具或者短信等等。
4:配置文件。对于一些可以程序逻辑中用到的一些特殊的变量可以做成配置文件,在代码执行的时候去配置文件中去读取。这个是针对长期线上执行的脚本,对于一些定时任务就不用了,直接更新脚本就行。
5:脚本中如果有密码 token 等比较隐私的内容要注意保密。不能明文写在脚本里。
6:脚本重启服务。对于一直执行的脚本一旦出现了异常或者内存等其他的导致了脚本这个进程挂掉,应该有重启的机制。
还有俩工具命令分享一下
1: 关于定时任务。
linux 下有一个 crontab 这个命令,可以配置每周的周几,每个月的几号,每天的几点,每个小时的哪一分钟去执行某一个任务。
温馨提醒:linux 下有普通log 和 异常 log。可以把这些 log 都输出到日志文件里。
eg sh xxx.sh > xxx.log 2>&1;
2: 关于长期在服务器执行的服务。
介绍一个可以管理 node 脚本自动重启的工具。
pm2 这个是用来管理 node 程序的一个工具。用 pm2 开启的node脚本自带重启功能,除此之外还可以开启/暂停一项任务。可以制定日志的输出路径,还可以给每一个错误日志的开头添加特定格式的时间字符串等,
领取专属 10元无门槛券
私享最新 技术干货