So führen Sie einen periodisch geplanten Job ohne at oder cron aus

447
runlevel0

Szenario: Sie haben einen Benutzer ohne Zugriff auf cron und müssen einen Job einplanen (beispielsweise ein rsync eines Verzeichnisses). Die Verwendung von atist keine Option, da Sie kein festes Enddatum haben.

Ich wette, es gibt Tausende von Wegen, um dies hier zu erreichen:

0
Normalerweise hat der Benutzer immer Zugriff auf Mais - sein eigener Cron, aber offensichtlich kein Roots Drako vor 6 Jahren 0
und noch eine frage - warum wird dem benutzer cron zugriff genommen? Gib es zurück. Drako vor 6 Jahren 0
auch - wenn sein rsync - dann kann rsync als deamon konfiguriert werden Drako vor 6 Jahren 0

1 Antwort auf die Frage

1
runlevel0

Schnell und dreckig:

Öffne eine Bildschirmsitzung und erstelle so eine while-Schleife:

while : ; do clear  echo "$(date : Hey, I'm running this nice stuffz)" time do_stuff sleep 1d 

Der Schlüssel hier ist der sleepBefehl: Er akzeptiert viel mehr als nur einen Wert in Millisekunden. Es gibt Formatangaben für Sekunde (n), Minute (m), Stunde (h) und Tag (d). Darüber hinaus kann GNU sleep nicht nur ganze Zahlen als Werte behandeln, sondern auch beliebige Floats ( info '(coreutils) sleep invocation'). Das bedeutet, dass Sie Folgendes schreiben könnten:

sleep 0.33d or sleep 0.5h 

Letzteres ist ziemlich nutzlos, aber so wissen Sie es;)

interessante Lösung aber: D Drako vor 6 Jahren 0