• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]mit at in einem script arbeiten

K4m1K4tz3

Advanced Hacker
Ich schreibe gerade ein Script, welches nach einer bestimmten Zeit sich erneut ausführen soll. Ich dachte da an den Befehl at, jedoch weiß ich nicht, wie ich ihn füttern soll.

Ich hatte an so etwas gedacht:

Code:
at now + $time min < echo -e "touch ~/testfile\r"

Jedoch schmeißt mir das Fehlermeldungen raus und außerdem muss ich ja noch ein ^D anhängen. Wie mache ich das?

Danke.
 

framp

Moderator
Teammitglied
Für regelmäßiges Ausführen eines Tasks ist eigentlich cron gedacht. at nur um zu einer bestimmten Zeit etwas einmal auszuführen.
 

abgdf

Guru
K4m1K4tz3 schrieb:
Ich schreibe gerade ein Script, welches nach einer bestimmten Zeit sich erneut ausführen soll. Ich dachte da an den Befehl at, jedoch weiß ich nicht, wie ich ihn füttern soll.
Z.B. so könnte es vielleicht gehen:
Code:
at + 1 min -f command
 
OP
K

K4m1K4tz3

Advanced Hacker
abgdf schrieb:
K4m1K4tz3 schrieb:
Ich schreibe gerade ein Script, welches nach einer bestimmten Zeit sich erneut ausführen soll. Ich dachte da an den Befehl at, jedoch weiß ich nicht, wie ich ihn füttern soll.
Z.B. so könnte es vielleicht gehen:
Code:
at + 1 min -f command

Ne, leider nicht. -f erlaubt nur das lesen aus einer Datei. Das wäre für mich viel zu umständlich.

framp schrieb:
Für regelmäßiges Ausführen eines Tasks ist eigentlich cron gedacht.

Ich will es ja nicht regelmäßig machen, sondern nur einmal nach x Minuten nachdem das Script aufgerufen wurde.
 

framp

Moderator
Teammitglied
K4m1K4tz3 schrieb:
framp schrieb:
Für regelmäßiges Ausführen eines Tasks ist eigentlich cron gedacht.

Ich will es ja nicht regelmäßig machen, sondern nur einmal nach x Minuten nachdem das Script aufgerufen wurde.
War nicht so deutlich rauszulesen. Wie ist es mit
Code:
echo "echo \"Hello\"" | at +1 min
entsprechend angepasst ?
 
OP
K

K4m1K4tz3

Advanced Hacker
Wenn ich folgendes eingebe:
Code:
echo "touch ~/testfile" | at now + $time min
erscheint die Fehlermeldung, dass die Datei oder das Verzeichnis nicht existieren würde.

Nach langem suchen habe ich aber folgenden Link gefunden: http://www.daniweb.com/forums/thread18003.html
Dort sieht eine Lösung wie folgt aus:
Code:
at now + $time min <<< "touch ~/testfile"
Das funktioniert auch super ;-)

Damit wäre das gelöst. Trotzdem danke an euch.
 

framp

Moderator
Teammitglied
Interessant das mit dem Operator <<<. Aber mein Vorschlag funktioniert auch - ist ja auch auf der Seite so beschrieben :roll:
 
OP
K

K4m1K4tz3

Advanced Hacker
framp schrieb:
Interessant das mit dem Operator <<<. Aber mein Vorschlag funktioniert auch - ist ja auch auf der Seite so beschrieben :roll:

Das mit dem <<< kannte ich auch noch nicht. Aber dein Vorschlag funktioniert, wie oben schon beschrieben, bei mir irgendwie nicht. Keine Ahnung warum. Ist mir aber auch im Moment egal. Bin zufrieden mit der Lösung ;-)
 
Oben