Forum: PC Hard- und Software Cronjob mag nicht


von Reinhard S. (rezz)


Lesenswert?

Hallo zusammen,

ich hab auf einem Debian zum testen einen Cronjob angelegt, der mir jede 
Minute die Uhrzeit an eine Datei anhängen soll:

  *   date +"%x %X" >> /home/nutzer/blabla.txt

Problem: funktioniert nicht.

Nach einem Blick ins Syslog kam raus, das er nur >date +"< ausführt, 
sich also an den Anführungszeichen verschluckt. Ein Ersatz von " durch ' 
hat auch nichts geändert. Eine Änderung des Befehls in

  *   date +%x_%X >> /home/nutzer/blabla.txt

bewirkt auch nichts, alles nach dem "+" wird nicht ausgeführt.

Gibts da einen bestimmten Grund, warum dem so ist?

von JH (Gast)


Lesenswert?

Workaround: Script schreiben und per cron ausführen lassen !

von Rene H. (Gast)


Lesenswert?

Ich würde auch ein Shellscript schreiben.

Ansonsten alles mit gespiegelten ' einpacken (sry, mein iPhone hat das 
Zeichen nicht)

Grüsse,
René

von Hmm (Gast)


Lesenswert?

In was für einer Shell laufen die cron-Commandos?

Versuch mal das '+' innerhalb der Apostrophe resp. Anführungszeichen zu 
setzen.

von g457 (Gast)


Lesenswert?

man 5 crontab regelt

von ?? (Gast)


Lesenswert?

> man 5 crontab regelt
??

von g457 (Gast)


Lesenswert?

> ??

Einfach(tm) mal die zugehörige manpage lesen, das steht das drin wie man 
die diversen Sonderzeichen (und was alles welche sind) escapen muss.

HTH

von ?? (Gast)


Lesenswert?

'man 5 crontab' ist schon klar, aber was soll 'regelt' bedeuten?

von Malte S. (maltest)


Lesenswert?

Welchen crond verwendet Debian? Bei cronie ist das kein Problem.

von g457 (Gast)


Lesenswert?

> was soll 'regelt' bedeuten?

Freie übersetzung von 'rulez' [0, 1]. Aber wir kommen vom Thema ab. Hier 
mal die konkrete Lösung für den TO (der sich schon verdächtig lange 
nimmer gemeldet hat, womöglich hat er es schon gelöst bekommen) oder die 
Nachwelt:
1
$ crontab -e
2
$ crontab -l | grep -ie date-file
3
*       *      *       *       *      /bin/date +"\%x \%X" >> /tmp/date-file
4
$ tail -F /tmp/date-file
5
tail: cannot open `/tmp/date-file' for reading: No such file or directory
6
tail: `/tmp/date-file' has become accessible
7
07/28/2013 03:46:01 PM
8
07/28/2013 03:47:01 PM
9
07/28/2013 03:48:01 PM
10
07/28/2013 03:49:01 PM
11
^C

HTH

[0] http://www.urbandictionary.com/define.php?term=rulez
[1] erster Eintrag in 
http://www.urbandictionary.com/define.php?term=rules

von Reinhard S. (rezz)


Lesenswert?

g457 schrieb:
>> was soll 'regelt' bedeuten?
>
> Freie übersetzung von 'rulez' [0, 1]. Aber wir kommen vom Thema ab. Hier
> mal die konkrete Lösung für den TO (der sich schon verdächtig lange
> nimmer gemeldet hat, womöglich hat er es schon gelöst bekommen)

Sind 70 Minuten für dich schon verdächtig lange? Aber ja, ich habs über 
den Umweg Skript bereits gelöst.

> oder die
> Nachwelt:
>
> [code]
> $ crontab -e
> $ crontab -l | grep -ie date-file

Was ist der Sinn des grep von den crontab-Einträgen?

>                            *      /bin/date +"\%x \%X" >>

Okay, das man die %-Zeichen escapen muss war mir neu. Bei den " hätte 
ich es noch verstanden...

von Malte S. (maltest)


Lesenswert?

Ja darüber bin ich auch episch gestolpert. Insofern ziehe ich das oben 
Gesagte kleinlaut zurück, behaupte das Gegenteil und schreibe mir das 
neu Gelernte hinter die Ohren.

von g457 (Gast)


Lesenswert?

> Was ist der Sinn des grep von den crontab-Einträgen?

Die Ausgabe der relevanten Zeile auf der Konsole sodass ichs copy-pasten 
kann (ohne die berühmt-berüchtigten ""copy-paste""-Fehler zu begehen) - 
siehe die oben nachfolgende Zeile :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.