对于上下文:我需要能够可靠地更新某些 sqlite DB 文件的时间戳,这些文件在 ext4 文件系统上间歇性更新。
touch写入数据库时使用命令(更新最后修改时间)是否会失败,甚至更糟,导致数据丢失?
sho*_*hok 11
您确实可以touch打开文件而不会损坏其内容,因为文件系统将序列化对 inode 元数据的更新。
如果从应用程序的角度来看这是安全的,则完全是另一回事,但它应该是安全的,简单的,因为即使读取文件也可以更新其元数据(即:当最后一次读取超过一天或不使用noatime,relatime或 时lazytime)。
也就是说,如果 SQLite 用于mtime某些内部簿记,它可能会因元数据更改而混淆。如果使用触摸来设置过去的时间戳,则尤其如此,这通常是一个坏主意。