如何保证数据掉电不损坏?
1. 建议使用ext3 ext4等日志式文件系统,并打开journal。
2. 文件系统无法保证write是原子的,所以,建议直接使用一些优秀的数据库保存数据或者配置,比如sqlite。
sqlite可以考虑打开synchronous = FULL, fullfsync = 1。如果还是出现文件损坏的情况,考虑是硬件原因,这种只能通过备份规避。
现在mac系统已经在使用sqlite作为配置的存储器了。
嵌入式系统断电之后出问题,很大部分是直接使用write函数的原因。所以要特别注意你所开发的嵌入式系统,上面运行的程序,究竟是怎样更新配置和数据的。