备份、日志轮转、缓存清理、证书续期等工作可以交给定时任务来完成,如果配置不当的话就会留下一些隐性的问题。

写法上有一些规定。每条任务都使用绝对路径,在运行环境中变量经常是空的;输出重定向到日志文件中,以免邮件把磁盘塞满;长任务加文件锁,防止重叠执行;多个重任务错开时间,减少IO争抢。
比较稳妥的方式就是把逻辑单独写成一个脚本,任务只负责调度,在脚本内部进行错误处理和重试。给每条任务设置失败告警,静默失败比没有配置要危险得多。修改之后先手动执行一次,确认输出结果符合预期之后再交给调度。
定时任务的可靠性来自于日志和告警,而配置本身只是解决是否会执行的问题。