Bash
重啟後恢復 Bash 腳本
我有一個 bash 腳本,它更改了作業系統和數據庫中的一些配置,它需要重新啟動,然後需要執行其他命令。像這樣的東西:
newvalue1= ip= . . some commands . . reboot . . some other commands
怎麼做才能做到這一點?
(堆棧交換上還有 2 個類似的問題,Q1和Q2,但很久以前就被問過了,使用者不再主動向他們提問。我再次詢問是否有新的想法和答案)
如果您可以修改腳本並且可以使用
crontab
,那麼您可以使用@reboot
時間crontab
重新執行腳本。腳本的行為將是雙重的,具體取決於它的呼叫方式。所以例如。如果它使用參數-s
or執行--second-run
,那麼它將執行重啟後的操作。在腳本中引入兩個主要功能,例如first_run
和second_run
將有助於組織它。這是腳本的草圖:
- 檢查它的呼叫方式(帶或不帶
-s
參數)。- 如果沒有
-s
:a) 做最初的事情。
b) 將第二次執行添加
@reboot
到 crontab。c) 重新啟動。 3. 如果有
-s
:a)做重啟後的事情。
b) 從 crontab 中刪除重新執行。