2016-07-15 6 views
-1

Ich möchte den Crontab-Job testen, indem ich jede Minute durch Ausführen des Skripts das Datum in die Textdatei schreiben lasse.Bash-Skript schreiben ohne zu überschreiben?

So habe ich folgendes Skript:

#!/bin/bash 
date >> /home/SomeUserName/Desktop/date.txt 

Welche irgendwie funktioniert der Trick, aber ich weiß nicht mein Skript jedes Mal überschrieben werden soll Datei, die es in der Datei schreibt. Also habe ich ">>" anstatt ">" verwendet, weil ich dachte, dass es nur an Datei anhängen würde, nicht überschreiben. Aber jedes Mal, wenn crontab das Skript ausführt, kann ich nur ein Datum sehen. Warum ist das so ?

Ich benutze Linux Mint.

+0

sind Sie sicher, dass Sie die richtige Datei ausführen? –

+0

Ja, wenn ich es manuell ausführe, bekomme ich den gewünschten Effekt, aber wenn ich crontab verwende, wird nur das letzte Datum gespeichert. – afwef1

+0

Sie erwarten zu Recht, dass ** ** ** mit '>>' verknüpft werden soll. Bearbeiten Sie daher Q, um den crontab-Eintrag anzuzeigen, der dieses Problem verursacht. Viel Glück. – shellter

Antwort

1

Ich kann bestätigen, dass es wie erwartet funktionieren sollte.

ein Skript Erstellt /home/myuser/xd.sh:

#!/bin/bash 
date >> $HOME/date.txt 

und crontab (via crontab -e):

# m h dom mon dow command 
    * * * * *  /home/myuser/xd.sh 

Dann sehe ich das erwartete Ergebnis:

$ cat date.txt 
Sa 16. Jul 02:02:01 CEST 2016 
Sa 16. Jul 02:03:01 CEST 2016 
Sa 16. Jul 02:04:01 CEST 2016 
Sa 16. Jul 02:05:01 CEST 2016 
Sa 16. Jul 02:06:01 CEST 2016 
Sa 16. Jul 02:07:01 CEST 2016 
Verwandte Themen