Wie führt man ein geplantes Bash-Skript aus, das eine Benutzereingabe mit launchd / cron erfordert?

593
philosopher

Ich habe ein Bash-Skript, das einige Dateien mit rclone auf einem Remote-Server sichert. Ich möchte dieses Skript einmal pro Woche ausführen.

Das Skript stellt mir zwei Fragen: Es bestätigt, ob ich es zu diesem Zeitpunkt ausführen möchte, und fragt dann nach dem Kennwort für den Remote-Server.

Es ist leicht genug, um ein geplantes bash-Skript mit cron oder launchd auszuführen. Das Bash-Skript erfordert jedoch Benutzereingaben. AFAIK führt im Hintergrund sowohl Launchd- als auch Cron-Run-Daemons durch. Idealerweise wird eine Instanz des Terminal-Fensters gestartet und das Skript dort ausgeführt.

Wie gehen Sie am besten vor?

Danke für die Hilfe!

0
rclone scheint Konfigurationsoptionen zu haben, um nicht nach einem Kennwort zu fragen, das Sie möglicherweise näher untersuchen. Alternativ können Sie ein "Expect" -Skript verwenden, um mit dem Programm zu interagieren. Es ist sinnlos, ein Passwort in einem solchen Skript zu haben, wenn es eine Alternative gibt, um die Konfigurationsdateien von rclone zu erhalten. meuh vor 7 Jahren 0
@ meuh Ich möchte, dass das Kennwort abgefragt wird, damit der Angreifer bei einem Angriff auf den Client-Computer meine Sicherungen nicht löschen kann. philosopher vor 7 Jahren 0

1 Antwort auf die Frage

0
philosopher

Ich glaube, ich habe hier die Antwort auf die Frage gefunden:

Das OS X-Bash-Skript muss wie in einem Terminal-Fenster über launchd geöffnet werden

Nicht die robusteste Lösung, funktioniert aber. Wenn jemand eine bessere Idee hat, lass es uns wissen.