我想在cronjob中運行一些代碼後重新啓動linux機器。運行命令後安全重啓?
的代碼基本上是這樣的:
#!/bin/sh
do_something
reboot
其中do_something
基本上是:
function do_something {
local REPORT_URL=https://example.com/services/status
local PAYLOAD='{"message":"Update script run with success.","code":'$UPDATE_SUCCESS'}'
curl -X POST --form "payload=$PAYLOAD" "$REPORT_URL"
}
是否有可能是do_something
沒有完成它的任務(例如I/O操作)之前reboot
運行?
在這種情況下,這將是這些的當中最好的解決辦法:
reboot
之前添加sync
。- 在
reboot
之前加sleep 5
。 - 在
reboot
之前加上sync
和sleep
。
'do_something'究竟是什麼?請顯示其代碼。 –