2017-04-03 149 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