我正在編寫一個腳本,它可以按順序執行大約10個後端進程,具體取決於前一個進程是否未發生任何錯誤。可恢復腳本的最佳選擇
現在讓我們假設場景,其中可以說第5個進程失敗並且腳本出來了。但是我想以這樣的方式對它進行編碼,當下次用戶運行它時(由於上次退出腳本而刪除錯誤之後),他應該能夠從第5個進程開始運行,而不是從第1個進程再次運行。
更具體地講,假設下面是腳本:
Script Starts
Process1
if [ $? -eq 0 ] then
Process2
if [ $? -eq 0 ] then
Process3
if [ $? -eq 0 ] then
..
..
..
..
if [ $? -eq 0 ] then
Process10
else
exit
所以這裏的腳本將隨時退出,如果過程中的任何一個失敗,那麼再次與狀態0完成,如果process5失敗,用戶糾正問題並重新啓動腳本,腳本應該再次以process5開始,而不是process1,或者至少應該有一個選項給用戶,如果他想恢復腳本或從開始即process1開始。
什麼所有可能的方式,我們可以編寫這種腳本,也請記住,我不允許使用臨時數據庫,在那裏我可以存儲每個進程的狀態。
我需要在sh(shell腳本)中的代碼在unix中。
'臨時數據庫'是否也意味着硬盤上沒有臨時平面文件?你允許編輯現有文件嗎?這個任務的範圍是什麼(換句話說,它保證了這個人將在同一時間運行這個程序?或者這個狀態必須堅持登錄) – jsvk