如何保证数据掉电不损坏?

1. 建议使用ext3 ext4等日志式文件系统,并打开journal。


2. 文件系统无法保证write是原子的,所以,建议直接使用一些优秀的数据库保存数据或者配置,比如sqlite。

sqlite可以考虑打开synchronous = FULL, fullfsync = 1。如果还是出现文件损坏的情况,考虑是硬件原因,这种只能通过备份规避。

现在mac系统已经在使用sqlite作为配置的存储器了。

嵌入式系统断电之后出问题,很大部分是直接使用write函数的原因。所以要特别注意你所开发的嵌入式系统,上面运行的程序,究竟是怎样更新配置和数据的。

原文地址:https://www.cnblogs.com/dearplain/p/7993781.html