现在时间是03:51分,没错,我在处理故障。悲催啊。。。
故障邮件名称:run-crons
故障正文:cat: write error:No space left on device
现象:
(1)/tmp目录磁盘使用率100%【非inode占用】
(2)crontab -e 命令出错(错误没保存,大概意思是不能执行,因为/tmp空间不足)
基本原因大概清楚了,crontab命令结果定向到了/tmp目录,而/tmp目录无可用空间,所以crontab就不工作了。
1 | 解决方案: |
经过了上面这个操作之后,运行crontab -e 才能正常看到之前定义的定时任务。此时说明配置OK了。
经验总结
其实,一般这个空间不易过大,但同时仍会出现/tmp满的情况,这时候需要crontab 配置每分钟或多少秒来自动清理/tmp里的文件。
1
2 命令参考:
*/1 * * * * rm /tmp/mck-* //每分钟执行一次不过,当写入速度大于删除速度,依然会报错/tmp满了,
解决方法是:
- 给/tmp目录添加监控
- /tmp满了之后,重启使用/tmp的程序,比如: php-fpm。重启后,进程释放就暂时不再写入了,然后让crontab的删除命令去干掉/tmp缓存文件。
详细了解tmpfs: 文件存储之-内存文件系统tmpfs
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2017/06/25/umount与-tmp-相爱相守/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!