我有一个启动shell脚本,它从文件中读取一个值,将其递增1并将其写回.之后,我进行系统的电源循环(关闭并打开电源).我试图用这种方式记录重启的次数.但我发现文件计数器始终保持为1.如果我使用reboot命令重新启动,则文件中的计数器会正确递增.这是因为内核缓冲并延迟了文件写入.有没有办法强迫它立即写?
rc.user文件如下:
cd /root
bash bootcounter.sh
sleep 1
Run Code Online (Sandbox Code Playgroud)
bootcounter.sh如下
rebootcount=$(<bootcount)
rebootcount=$(($rebootcount+1))
echo $rebootcount >bootcount
Run Code Online (Sandbox Code Playgroud)
谢谢...
你想要sync命令.这应该刷新所有文件系统.
count=$( cat bootcount ) echo $( expr $count + 1 ) > bootcount sync
但是,您可能应该使用完整路径来引导计数.
| 归档时间: |
|
| 查看次数: |
2009 次 |
| 最近记录: |