x86 NAS ,因为一部分程序疯狂往 syslog 里面写日志,因此想把 /var/log 整个 ln 到 u 盘上,不知道会不会有什么问题。
问题是指比如长写入对 U 盘不好、可能会发生的错误一类的
1
eason1874 2022-06-18 14:23:25 +08:00
怎么处理写日志的异常,这得看程序本身代码,盲猜不到
你可以先检查 syslog 日志级别,可能是默认级别太低才导致疯狂写日志。如果是 info 或者 debug ,可以先调高到 notice 看看 |
2
flynaj 2022-06-18 14:24:48 +08:00 via Android
USB 接口不稳定,会掉盘。
|
3
cev2 2022-06-18 14:38:21 +08:00
我不理解,NAS 不就是用来存文件的嘛,为啥要单独把 log 存 U 盘?如果是担心频繁读写导致机械硬盘无法休眠 /寿命损伤,那也应该是创建一个 tmpfs 把 log 文件写入到内存中,然后固定大小 /时间把 tmpfs 里的 log 备份到硬盘上然后清空,循环往复。
|
4
geekvcn 2022-06-18 15:27:04 +08:00 2
主流做法是写到 zram 里,如果需要看日志就写个定时脚本定时打包日志到硬盘持久化
|
5
kkbblzq 2022-06-18 16:59:02 +08:00
你把 U 盘也是用闪存的,同固态,也是有擦写次数上限的
|
6
Lax 2022-06-18 17:31:23 +08:00
配一配 logrotate 吧
|
7
Xusually 2022-06-18 17:32:55 +08:00 via iPhone
logrotate
然后 archive 你想怎么搬走就怎么搬走 |
8
ragnaroks 2022-06-20 09:26:26 +08:00
不用动脑子的办法,用容器并设置 --log-drive none
|
9
libook 2022-06-20 18:18:42 +08:00
我有一块 U 盘这么写废过。
U 盘是基于低频读写的场景设计的,每次写入都会减少一些寿命,等写废了 U 盘会进入保护模式,只允许读不允许写。 后来我的策略是找到所有写日志的程序,把日志分为三个等级: 1. 平时不看,有故障可以临时记录日志再看有啥问题;这种日志可以直接关闭; 2. 需要看日志的时候系统正常工作,而且仅需要看短时间范围内的日志;把日志路径改到 /tmp 下(或任何挂载到内存的目录下),并设置 logrotate 限制日志文件大小和时间,防止把内存写满; 3. 出问题的时候系统会不可访问,或者需要翻旧账;这种先用 folder2ram ,先写入内存再择机自动写入 U 盘,以此降低写入频率,并配置 logrotate 限制日志文件大小和时间,防止把 U 盘写满。 |