2017-04-03 5 views
0

Ich versuche, ein Embedded Application Upgrade-Skript zu schreiben. Ich benutze meine Anwendung auf Ubuntu auf Beaglebone Black.Bearbeiten Crontab mit einem Skript

Richtig nicht, ich starte meine Anwendung beim Einschalten. Um dies zu tun, ich laufen launch.sh Skript in Crontab.

Dieses Skript ist, wie unten erwähnt:

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 

Es besteht im Wesentlichen, startet das System neu, wenn meine Anwendung abstürzt, und crontab startet die Anwendung wieder auf Neustart.

Das Problem ist, dass wenn ich die Anwendung aktualisieren möchte. Ich muss folgende Schritte ausführen:

  1. Disable Start des oben Skript mit crontab -e
  2. Reboot
  3. Kopieren und ersetzen aa_main
  4. Start des gleichen Skript aktivieren mit crontab -e
  5. Reboot

Ich möchte diesen Prozess automatisieren. Wie kann ich es tun? Ist es möglich, Crontab mit einem Skript zu bearbeiten?

Vielen Dank im Voraus

+0

Ist es nicht klüger, das Skript beim Booten mit dem bereitgestellten init-System auszuführen? Ist das aktuelle Init-System für Ubuntu gestartet? https://help.ubuntu.com/community/UbuntuBootupHowto – Palethorn

Antwort

0

Sie crontab Befehl des anderen Optionen können Sie die crontab in eine Datei, ändern, es kopieren und die Version von einem Skript ändern installieren:

  • crontab -l die aktuelle crontab-Datei auflisten würde Sie können dies in eine Datei Ihrer Wahl umleiten und sie ändern
  • crontab <filename> würde die von <filename> angegebene Datei als neue crontab installieren - verwenden Sie diese Option mit Ihrer geänderten Datei, und Sie erhalten die neue modifizierte crontab
Verwandte Themen