使用脚本

时间:2017-04-03 08:52:36

标签: bash ubuntu crontab embedded-linux auto-update

我正在尝试编写嵌入式应用程序升级脚本。我在Beaglebone Black上运行我在Ubuntu上的应用程序。

对不对,我正在启动我的应用程序。为此,我在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. 重新启动
  4. 复制并替换aa_main
  5. 启用crontab -e
  6. 启动相同的脚本
  7. 重新启动
  8. 我想自动化这个过程。我该怎么做? 是否可以使用脚本编辑crontab?

    提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用crontab命令的其他选项将crontab复制到文件,修改它并从脚本安装修改版本:

  • crontab -l会列出当前的crontab文件,您可以将其重定向到您选择的文件并进行修改
  • crontab <filename>会将<filename>指定的文件安装为新的crontab - 将此选项与修改后的文件一起使用,您将获得新修改的crontab