2017-04-03 162 views
0

我正在嘗試編寫嵌入式應用程序升級腳本。我在Ubuntu Beaglebone Black上運行我的應用程序。使用腳本編輯crontab

對不,我正在啓動我的應用程序上電。爲此,我在crontab中運行launch.sh腳本。

這個腳本如下所述:

until /root/aa_main; do 
    echo "Application aa_main crashed with exit code $?. Respawning.." >&2 
    echo "Crashed! $(date)" >> crashlog.txt 
    sudo sync 
    sudo reboot 
done 

它基本上,重新啓動系統,如果我的應用程序崩潰,並且再次的crontab啓動在重新啓動應用程序。

問題是,如果我想更新應用程序。我必須執行以下步驟:

  1. 上述腳本禁止啓動與crontab -e
  2. 重啓
  3. 複製和替代aa_main
  4. crontab -e
  5. 重啓
啓用相同的腳本的啓動

我想自動執行此過程。我該怎麼做? 是否可以使用腳本編輯crontab?

在此先感謝

+0

使用提供的init系統在啓動時運行腳本不是更聰明嗎?是暴露Ubuntu的當前init系統? https://help.ubuntu.com/community/UbuntuBootupHowto – Palethorn

回答

0

可以使用crontab命令的其他選項的crontab中複製到文件,修改,並從腳本安裝修改版:

  • crontab -l會列出當前的crontab文件,您可以將其重定向到您選擇的文件並修改它
  • crontab <filename>將安裝由<filename>指定的文件作爲新的crontab - 在修改後的文件中使用此選項,您將獲得新的修改的crontab