如何调试定时任务
1.查看定时任务
/var/log/cron
学会最小化排除:
先清空,>/var/log/cron
然后再测试和观察
2.增加执行任务的频率调块
3.把执行任务时间调到最近两分钟,测试
4.也可以调整系统时间(调试用,一般不要调整,其他任务容易出错)
5通过脚本日志输出调试定时任务,把结果输出到其他目录下,可以单一查看
注意,有的程序只能执行一次,无论测试还是执行,这样的话先在测试环境下执行好,然后复制到正规部署的命令行
代码发布流程:
办公室环境测试》》IDC机房测试环境》》IDC机房正式环境
以免环境出错,影响用户体验,业务稳定
常见故障
No space left on device
磁盘满了报错,原因在于inode被小文件占满了
df -i 查看inode的存储空间情况
因为好多任务没有加 &>/dev/null 就是把输出文件没有放到黑洞
定时任务手动可以执行,但是放到定时任务就不执行
crond export 变量环境故障
定时任务再执行脚本的时候,多数情况下没办法加载环境变量,特别是/etc/profile
命令行:bash登录方式
1.手工登录后,加载所有环境变量(包括隐藏环境变量)
2.定时任务执行脚本属于非登录状态
用户管理知识
用户相关文件:
/etc/passwd 用户所在文件
/etc/shadow 用户密码所在文件
useradd oldboy 添加普通用户oldboy 实际上就是修改上述两个文件
passwd oldboy 修改密码实际上就是修改密码所在文件
用户相组相关文件:
/etc/group 用户组所在文件
/etc/gshadow 用户组密码所在文件(废弃状态,一般不用)
useradd oldboy 添加用户实际上也会修改上述两个文件(因为要创建同名的用户组)0
网友评论